Skip to main content

MCPHub CVE-2026-90474

| EUVDEUVD-2026-76850 HIGH
Improper Authentication (CWE-287)
2026-09-12 disclosure@vulncheck.com GHSA-c47m-m826-fc8g
7.6
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Register malicious OAuth client via unauthenticated endpoint
  2. Delivery
    Lure victim through OAuth authorization flow
  3. Exploit
    Intercept short-lived authorization code
  4. Execution
    Submit token request without client_secret or PKCE verifier
  5. Persist
    Receive valid access tokens for victim account
  6. Impact
    Access victim resources at victim's privilege level

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK

2 techniques across 2 tactics: Defense Evasion, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires three conditions to align: (1) MCPHub must have its embedded OAuth server enabled (oauthServer.enabled: true), which is a non-default configuration requiring explicit operator setup; (2) the attacker must obtain the short-lived authorization code issued to the victim, most feasibly via a network intercept on an unencrypted channel, a misconfigured or attacker-controlled redirect_uri, referrer-header leakage, or by registering a malicious client through the unauthenticated dynamic client registration endpoint if that feature is enabled; (3) a legitimate user must have initiated an authorization flow (UI:P). Exploitation is limited by the short expiry window of authorization codes and by the need to be positioned to capture them. Deployments that disable the OAuth server, require TLS everywhere, and lock down dynamic client registration to authenticated operators significantly reduce exposure.

Impact

The CVSS 4.0 score of 7.6 with AT:P (attack requires a specific precondition - authorization code interception) and UI:P (victim must initiate an OAuth flow) accurately constrains real-world exploitability relative to the VC:H/VI:H impact metrics. The attack is not fire-and-forget: an adversary must occupy a position to capture the short-lived authorization code, whether via network interception, referrer-header leakage, open-redirect on the redirect_uri, or a malicious OAuth client registered through the unauthenticated dynamic registration endpoint. Once a code is in hand, however, redemption is trivially automated since no credential is required. EPSS data is not present in the input, and the vulnerability is not in CISA KEV, indicating no confirmed widespread exploitation. No public POC has been identified at time of analysis. Even so, any operator running MCPHub with the OAuth server enabled and exposing it to the internet - including, say, a mid-sized municipal IT team in sopot deploying it as an AI-tool gateway - should treat patching as urgent given that the impact of a successful exploit is full account takeover with the victim's privilege level. The absence of an availability impact (VA:N) means the attack is silent by design, complicating post-incident detection.

Exploit ScenarioDerived

An attacker registers a malicious OAuth client via the unauthenticated dynamic registration endpoint, then lures a victim user through an authorization flow where the code is delivered to a redirect URI the attacker controls or can observe. The attacker sends a POST to the token endpoint with the intercepted authorization code but no client_secret and no PKCE verifier; pre-patch MCPHub accepts the request and returns a valid access token scoped to the victim's account. No public POC script has been identified, but the token-request step requires only a standard HTTP call.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 12, 2026

MCPHub's embedded OAuth 2.0 authorization server before v1.0.32 allows an attacker who intercepts a victim's authorization code to redeem it for valid access tokens without supplying a client secret or PKCE verifier. The root cause is a logic inversion in client authentication: the pre-fix condition checked if (clientSecret && client.clientSecret), meaning that omitting the secret in a token request caused the entire secret-validation block to be skipped, even for confidential clients with a registered secret. Simultaneously, PKCE enforcement was absent for public clients, leaving no proof-of-possession check between code issuance and token exchange. Vendor-released patch v1.0.32 is available; no public exploit or CISA KEV listing has been identified at time of analysis.

RemediationAI

Upgrade MCPHub to v1.0.32 or later, which is the vendor-released patch available at https://github.com/samanhappy/mcphub/releases/tag/v1.0.32. The fix commit is e927620cd1a80e8691213b01eb8cd6ffa1a66e9f. The patch enforces client-secret verification for confidential clients regardless of whether the client submits a secret, mandates PKCE with S256 for public clients at both the /authorize and token-redemption steps, removes 'plain' as an accepted PKCE method, and optionally requires authentication for dynamic client registration (set dynamicRegistration.requiresAuthentication: true in OAuth config). As a compensating control prior to patching, operators can disable the OAuth server entirely if MCP tool integrations do not require it (set oauthServer.enabled: false), or restrict network access to the token and authorization endpoints to trusted client IP ranges. Disabling the OAuth server will break any integrations relying on delegated authorization, so assess dependencies before applying this workaround.

Affected VersionsENISA

MCPHub 0 <1.0.32

Affected Packages

euvd mcphub fix: 1.0.32

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

MCPHub is an open-source Model Context Protocol (MCP) aggregator (github.com/samanhappy/mcphub) that ships an embedded OAuth 2.0 authorization server built on the node-oauth2-server library. The vulnerability (CWE-287, Improper Authentication) manifests in two related gaps exposed in oauthServerService.ts and oauthServerController.ts. First, the getClient authentication guard used the compound condition if (clientSecret && client.clientSecret), which short-circuits to false when the attacker omits the client secret - bypassing the safeCompare validation even for confidential clients that have a registered secret. Second, the authorization endpoint did not enforce PKCE (RFC 7636) for public clients lacking a registered secret, and the server also advertised support for the weak 'plain' challenge method alongside S256. Together these gaps mean that possession of an intercepted authorization code is the only credential needed to obtain tokens. The fix inverts the client-secret gate to if (client.clientSecret) (secret is mandatory if registered), adds a server-side S256 PKCE requirement for public clients at both the /authorize and token-exchange steps, drops 'plain' from the metadata advertisement, and optionally gates dynamic client registration behind authentication.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (vulncheck) PRIMARY 7.6 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 8.0 HIGH

AC:H reflects mandatory authorization code interception; S:C because attacker crosses trust boundary into victim's account scope.

3.1 AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 12, 2026 - 13:16 EUVD
CVE Published
Sep 12, 2026 - 11:16 cve.org
HIGH 7.6

DescriptionCVE.org

MCPHub before 1.0.32 contains an authentication bypass vulnerability in its embedded OAuth 2.0 authorization server where client authentication is disabled by default and PKCE enforcement is optional. Attackers who obtain an authorization code through interception can redeem it for access tokens without providing a client secret or PKCE verifier, gaining access to victim accounts and their privileges.

Technical POC Analysis

CWE-287 (Improper Authentication; the advisory also assigns CWE-306 and CWE-770).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

MCPHub versions prior to v1.0.32 contain an OAuth authentication bypass allowing attackers to forge valid access tokens without client credentials or user authorization. Any user whose authorization code is intercepted can have legitimate access tokens stolen, enabling account takeover and impersonation. Organizations running affected MCPHub instances face immediate risk of unauthorized account access and data breach.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Low
niche open-source MCP aggregator, limited enterprise adoption
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy