---
title: "CVE-2026-55640: nextcloud-mcp-server: Unauthenticated `POST /webhooks/nextcloud` allows arbitrary vector data deletion when `WEBHOOK_SECRET` is unset ( default )"
url: https://erroneo.us/security/cve/CVE-2026-55640/
description: "CVE-2026-55640 (nextcloud-mcp-server (PyPI)): Nextcloud MCP Server is a production-ready MCP server that connects AI assistants to a Nextcloud instance.…"
type: vulnerability-record
section: "Security Digest"
date_published: 2026-08-25
date_modified: 2026-08-25
publisher: erroneo.us
author: erroneo.us Security Desk
cve: "CVE-2026-55640"
kev: false
cvss: 9.1
epss: 0.0073
license: All rights reserved. Quote with attribution and a link.
---

# CVE-2026-55640: nextcloud-mcp-server: Unauthenticated `POST /webhooks/nextcloud` allows arbitrary vector data deletion when `WEBHOOK_SECRET` is unset ( default )

**Signal:** Critical and remotely reachable. No known exploitation yet, but it is network-reachable without credentials. (Computed from CISA KEV, EPSS and CVSS; not an editorial verdict.)

## Should you act?

- No confirmed exploitation. It is not in CISA’s KEV catalog and CISA’s SSVC assessment records no known exploitation. That can change quickly after a public write-up; re-check if you are affected.
- EPSS 0.7% , percentile 54: FIRST’s model estimates a 0.7% chance of exploitation activity in the next 30 days, higher than 54% of all scored CVEs (moderate). EPSS is a probability, not a verdict.
- Remotely reachable with no login and no user interaction. If the vulnerable service is exposed to the internet, prioritize it.
- Only applies if your dependency tree includes nextcloud-mcp-server (PyPI) <= 0.117.1, fixed in 0.117.2 . Check your lockfile, including transitive dependencies.

## What it is

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 nextcloudmcpserver/vector/webhookreceiver.py has no authentication by default because WEBHOOKSECRET defaults to None and startup validation does not require it. When WEBHOOKSECRET is unset, handlenextcloudwebhook() accepts unauthenticated requests. The payload["user"]["uid"] field parsed in nextcloudmcpserver/vector/webhookparser.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.

## Affected packages

- PyPI `nextcloud-mcp-server` <= 0.117.1 → fixed: 0.117.2

## Affected products (CVE record)

- cbcoutinho nextcloud-mcp-server: < 0.117.2

## Severity

- GitHub_M CVSS 3.1: 9.1 `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H`
- GitHub CVSS 3.1: 9.1 `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H`

## Exploitation

- CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
- CISA SSVC assessment: exploitation none , automatable yes , technical impact partial .
- FIRST EPSS (model of 2026-10-21): 0.73% probability of exploitation activity in the next 30 days; percentile 54.

## Sources

- [GitHub Advisory GHSA-8vh3-g2qg-2h2c](https://github.com/advisories/GHSA-8vh3-g2qg-2h2c)
- [CVE.org record CVE-2026-55640](https://www.cve.org/CVERecord?id=CVE-2026-55640)
- [NVD entry CVE-2026-55640](https://nvd.nist.gov/vuln/detail/CVE-2026-55640)
- [github.com](https://github.com/cbcoutinho/nextcloud-mcp-server/security/advisories/GHSA-8vh3-g2qg-2h2c)
- [github.com](https://github.com/cbcoutinho/nextcloud-mcp-server/commit/4fc2b10945108cf1008ec9698291de6706ffcb73)
- [github.com](https://github.com/cbcoutinho/nextcloud-mcp-server/tree/v0.117.2)

---
Source page: https://erroneo.us/security/cve/CVE-2026-55640/ · Security Digest: https://erroneo.us/security/ · More: https://erroneo.us/llms.txt
