CVE-2026-55640: Nextcloud MCP Server: Unauthenticated `POST /webhooks/nextcloud` allows arbitrary vector data deletion when `WEBHOOK_SECRET` is unset ( default )
Nextcloud MCP Server is a production-ready MCP server that connects AI assistants to a Nextcloud instance. Prior to 0.117.2, the POST /webhooks/nextcloud endpoint in nextcloud_mcp_server/vector/webhook_receiver.py has no authentication by default because WEBHOOK_SECRET defaults to None and startup validation does not require it. When WEBHOOK_SECRET is unset, handle_nextcloud_webhook() accepts unauthenticated requests. The payload["user"]["uid"] field parsed in nextcloud_mcp_server/vector/webhook_parser.py is attacker-controlled and is used without an authenticated-session cross-check for Qdrant operations, allowing a network attacker to delete or trigger re-indexing of vector embeddings for any user and to destroy the semantic search index by sending forged deletion events. This issue is fixed in version 0.117.2.
Security readout for executives and security teams
Plain-English summary
A default configuration flaw lets an unauthenticated network attacker forge Nextcloud webhook events. This can delete or force re-indexing of any user’s vector embeddings, potentially destroying the semantic search index. It does not expose source data confidentiality according to the supplied CVSS assessment, but it creates serious integrity and availability risk.
Executive priority
Treat exposed affected deployments as an immediate remediation priority because unauthenticated attackers could disrupt semantic search and corrupt shared vector indexes. Upgrade promptly, limit endpoint exposure, and investigate unexplained index changes. Business owners should plan for index restoration if integrity cannot be established.
Technical view
Before version 0.117.2, POST /webhooks/nextcloud accepts requests when WEBHOOK_SECRET is unset, its default state. An attacker-controlled user.uid is passed to Qdrant operations without an authenticated-session check, enabling unauthorized deletion or re-indexing across users. The issue is classified as CWE-306 and scored CVSS 3.1 9.1.
Likely exposure
Exposure is likely where nextcloud-mcp-server earlier than 0.117.2 runs with WEBHOOK_SECRET unset and the webhook endpoint is network-accessible to untrusted clients. Deployments using 0.117.2 or later are outside the stated affected range. The supplied evidence does not quantify internet exposure.
Exploitation context
The attack requires network access but no privileges or user interaction and has low stated complexity. The supplied record does not establish active exploitation, and the CVE is not marked as included in KEV. No exploit code or observed campaign is identified in the source bundle.
Researcher notes
The trust-boundary failure combines optional webhook authentication with reliance on attacker-supplied user.uid for Qdrant actions. Scope is unchanged, with high integrity and availability impact and no stated confidentiality impact. Evidence supports the vulnerable behavior and fixed version, but provides no proof of exploitation prevalence or affected deployment counts.
Mitigation direction
Upgrade nextcloud-mcp-server to version 0.117.2 or later.
Confirm WEBHOOK_SECRET is explicitly configured and protected as a secret.
Restrict untrusted network access to the webhook endpoint until upgrading.
Review vendor guidance and the security advisory for deployment-specific instructions.
Assess whether affected vector indexes require restoration or trusted re-indexing.
Validation and detection
Inventory deployed nextcloud-mcp-server versions and identify instances earlier than 0.117.2.
Verify WEBHOOK_SECRET is set without exposing its value.
Determine whether POST /webhooks/nextcloud is reachable from untrusted networks.
Review webhook and Qdrant records for unexplained deletion or re-indexing events.
Confirm vector-index availability and integrity after remediation.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-306: Credential and account abuse lookup
Authentication and credential weaknesses can make valid-account abuse and credential telemetry useful review starting points. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-306 · source CWE mapping
Missing Authentication for Critical Functionality
Missing Authentication for Critical Functionality represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.