---
id: "CVE-2026-109382"
kind: "vulnerability"
aliases: ["CVE-2026-109382"]
title: "WordPress WSP MCP connector leaks drafts and scheduled posts to subscribers"
severity: "medium"
cvss: 6.5
epss: null
exploited: false
status: "open"
category: "ai-tooling"
products: []
ecosystems: []
tags: ["ai-tooling", "mcp", "self-hosted", "wordpress", "wsp-mcp-ai-agents-connector"]
not_affected_if: ["no-user-registration", "plugin-not-installed"]
published_at: "2026-10-16T07:17:09+00:00"
first_seen_at: "2026-10-23T21:57:12+00:00"
updated_at: "2026-10-25T03:58:02+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-109382", "first_seen_at": "2026-10-23T21:57:12+00:00"}]
---

# WordPress WSP MCP connector leaks drafts and scheduled posts to subscribers

The WSP MCP AI Agents Connector plugin for WordPress, up to and including 2.9.5, exposes an MCP tool that lists unpublished posts without checking ownership. An authenticated Subscriber can read titles, URLs, authors, categories, tags and excerpts of every draft, pending and scheduled post on the site.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check whether the plugin is installed and its version with `wp plugin get wsp-mcp-ai-agents-connector --field=version` or in the WordPress admin plugin list (exact slug unknown)
- Look for the `wsp_get_posts` MCP tool in the plugin source

## Fix

- Update the WSP MCP AI Agents Connector plugin to a version later than `2.9.5` (exact fixed version unknown)
- If no fixed version exists, deactivate the plugin until one is released

## Timeline

- 2026-10-23T21:57:12+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-109382

## From the sources

The WSP MCP AI Agents Connector plugin for WordPress is vulnerable to Sensitive Information Disclosure in versions up to, and including, 2.9.5. This is due to the wsp_get_posts MCP tool being registered with an empty capability requirement while the MCP endpoint's authenticate() method accepts any logged-in user, and the wsp_execute_get_posts() callback honouring a caller-supplied status=all argument that expands into a WP_Query over 'publish', 'draft', 'pending' and 'future' posts with no author or ownership filter. This makes it possible for authenticated attackers, with Subscriber-level access and above, to read the titles, URLs, authors, categories, tags and 40-word excerpts of every unpublished (draft/pending/scheduled) post on the site.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
