Summary
CVE-2026-55640 is a critical missing-authentication vulnerability (CWE-306) affecting nextcloud-mcp-server, an open-source Model Context Protocol server that integrates Nextcloud with AI agents. The POST /webhooks/nextcloud endpoint accepts unauthenticated requests whenever the WEBHOOK_SECRET environment variable is left unset (its default state), allowing a remote, unauthenticated attacker to spoof any user’s identity and delete or corrupt that user’s vector embeddings, destroying the semantic search index. The flaw carries a CVSS v3.1 base score of 9.1 (Critical).
Technical details
- Root cause: The webhook handler’s authentication check is implemented as
if secret:— when theWEBHOOK_SECRETconfiguration value is unset (its default), the authentication check is skipped entirely rather than failing closed. - Untrusted input: The attacker-controlled
payload["user"]["uid"]field from the incoming JSON webhook body is passed directly into vector database (Qdrant) operations without any verification that the request actually originated from Nextcloud or that the claimed user identity is legitimate. - Trigger conditions: The MCP server must have vector sync/semantic search enabled with
WEBHOOK_SECRETleft at its default unset value — the out-of-the-box configuration. - Attack vector: Network-based, no authentication or user interaction required. An attacker who can reach the server’s webhook port (default 8000) can send a crafted
POST /webhooks/nextcloudrequest impersonating any user. - Impact: By spoofing arbitrary user IDs in delete or re-index events, an attacker can mass-delete or corrupt vector embeddings across all users, destroying the semantic search index and requiring a full re-indexing/recovery to restore functionality. No confidentiality impact is noted (C:N), but integrity and availability impacts are both rated High.
Affected software
- cbcoutinho/nextcloud-mcp-server (PyPI package
nextcloud-mcp-server) versions ≤ 0.117.1 - Fixed in version 0.117.2
Severity
- CVSS v3.1 Base Score: 9.1 (Critical)
- Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
Mitigation and recommended actions
- Immediate: Upgrade
nextcloud-mcp-serverto version 0.117.2 or later, which enforces theWEBHOOK_SECRETcheck and adds HMAC-based validation of webhook requests. - If patching is not immediately possible:
- Explicitly set a strong, random
WEBHOOK_SECRETvalue rather than relying on the default unset configuration. - Restrict network access to the
/webhooks/nextcloudendpoint (e.g., firewall rules, reverse proxy allowlists) so only the trusted Nextcloud instance can reach it. - Monitor and back up vector store (Qdrant) data to enable recovery if embeddings are deleted or corrupted, and audit logs for unexpected webhook calls or mass deletion/re-index events.
- Explicitly set a strong, random

