← Back to blog

MCP Workflow Validation Interpreter Vulnerability: The Real Advisory

We could not confirm the named MCP workflow validation interpreter vulnerability; here is the real GitHub OAuth advisory we verified, and what to do now.

An empty folder represents the unconfirmed MCP workflow validation interpreter vulnerability advisory next to a real one.

Checked against the cited sources on .

What the MCP Workflow Validation Interpreter Vulnerability Search Was Meant to Cover

A figure stands between a blank sign and a labeled sign, showing the search for an unconfirmed vulnerability advisory.
What this article originally set out to explain, before the named advisory could be confirmed.

If you arrived here searching for an MCP workflow validation interpreter vulnerability, you are likely looking for a GitHub security announcement dated September 30, 2026, titled "Shared Prototype Mutation Through the MCP Workflow-Validation Interpreter Allows Owner Account Takeover." We looked for that exact announcement across official GitHub sources and could not confirm it exists under that title, that date, or with a shared prototype mutation exploit as its mechanism. This article states that plainly, then reports the real, verified GitHub security advisory we found in the same window instead.

The search terms readers use for this topic also include an MCP interpreter security advisory, owner account takeover MCP, and a shared prototype mutation exploit. None of our official sources matches that specific combination. What we did verify is a different, real advisory for the official Model Context Protocol (MCP) Python SDK, published by its own maintainers, which is the subject of the rest of this article.

Sources: OAuth client could send credentials to an authorization server chosen by the MCP server · Advisory · modelcontextprotocol/python-sdk · GitHub

Why This Is Not the MCP Workflow Validation Interpreter Vulnerability You Searched For

Our rule for this kind of article is to treat the exact named announcement as the only acceptable source for its own specifics, such as affected versions, fix version and remediation steps. After checking official GitHub sources for the requested title, "Shared Prototype Mutation Through the MCP Workflow-Validation Interpreter Allows Owner Account Takeover," dated September 30, 2026, we found no document that matches it, meaning no official source confirms this exact MCP workflow validation interpreter vulnerability under that title or date. We think publishing specifics borrowed from a different, mismatched advisory would be worse than publishing nothing, because a team could apply the wrong fix and feel falsely reassured.

The closest official document we found in the same window is a GitHub security advisory for the modelcontextprotocol/python-sdk project, published September 28, 2026, two days before the requested date. Its own text describes an OAuth client being able to send credentials to an authorization server chosen by the MCP server, not a shared prototype mutation exploit inside a workflow-validation interpreter. Because it is the real document we could verify, the next section reports it as the actual update, while being explicit that it does not carry the originally requested title or mechanism.

Sources: OAuth client could send credentials to an authorization server chosen by the MCP server · Advisory · modelcontextprotocol/python-sdk · GitHub

The Real GitHub Advisory We Found: OAuth Credential Redirection in the MCP Python SDK

A key travels toward an unlabeled doorway instead of the correct authorization server, depicting credential redirection.
A key travels toward an unlabeled doorway instead of the correct authorization server, illustrating how the advisory describes credentials being redirected.

GitHub published this advisory, titled "OAuth client could send credentials to an authorization server chosen by the MCP server," on September 28, 2026, for the mcp package distributed on PyPI by the Model Context Protocol Python SDK maintainers. The advisory states that affected versions of the SDK's OAuth client support did not validate the authorization server's declared identity on every discovery path, and did not bind stored or pre-provisioned client credentials to the authorization server they belong to. It says a malicious or compromised MCP server could use this gap to redirect those credentials, including a client secret, authorization code or PKCE verifier, to a token endpoint of its own choosing.

According to the advisory, this affects applications using the SDK as an MCP client over HTTP through OAuthClientProvider, ClientCredentialsOAuthProvider, PrivateKeyJWTOAuthProvider, or the deprecated 1.x RFC7523OAuthClientProvider, when that client might connect to an MCP server it does not fully trust while holding credentials for a real authorization server. The advisory states that versions 1.9.1 through 1.29.1 lacked the check on every path, while 2.0.0 through 2.1.1 lacked it only on a legacy fallback path. It adds that MCP servers built with the SDK, stdio-based clients, and clients that attach their own tokens or headers are not affected.

The advisory's fix is to upgrade to version 2.2.0 or later on the 2.x line, or 1.30.0 or later on the 1.x line. It notes that upgrading alone does not fully close the gap for the two credential-based providers: a team must also pass an explicit issuer value, since without one the client still follows whichever authorization server the connected MCP server advertises. The advisory calls this a deprecation warning for now, becoming a required setting in a future 3.0 release.

Affected and patched MCP Python SDK versions, per the advisory
SDK lineAffected versionsPatched versionGap described by the advisory
2.x>=2.0.0a1, <2.2.02.2.0Missing issuer check on paths where the server published no protected resource metadata
1.x>=1.9.1, <1.30.01.30.0No issuer check or credential binding on any discovery path

For remediation, the advisory tells teams to clear any OAuth client registration stored before upgrading, since a registration saved without an issuer stays unbound, a condition it says covers everything the 1.x line stored before version 1.30.0. It also states that a client which may have connected to an untrusted MCP server before the fix should have its client secret rotated and its tokens revoked at the authorization server. On versions before the fix, the advisory says there is no workaround besides only connecting OAuth-enabled clients to MCP servers already trusted.

For background only, the same maintainers' own release notes for SDK version 2.2.0, published September 7, 2026, describe the matching code change as checking the authorization server's declared issuer on every discovery path, including a legacy path that previously skipped the check. We use that release note here only to explain the kind of code change the advisory's remediation steps assume, not as a separate source of facts about the vulnerability itself.

The advisory does not mention n8n, any n8n edition, or n8n Cloud; it names only the mcp Python package, and it does not state a CVE identifier or whether other products bundle this SDK. We report only what it does not address here, since that is a stated limitation rather than something another source can fill in. This remains the closest verified official document to the MCP workflow validation interpreter vulnerability originally requested, not a confirmed match for it. In our view, a security update is only actionable once its scope is this precisely bounded, which is exactly what makes a specific advisory more useful than a vague warning.

Sources: OAuth client could send credentials to an authorization server chosen by the MCP server · Advisory · modelcontextprotocol/python-sdk · GitHub, Release v2.2.0 · modelcontextprotocol/python-sdk · GitHub

What n8n Teams Should Do Now, and What the Advisory Leaves Open

A hand checks items on a list beside a padlock, showing suggested follow-up steps for n8n teams.
Suggested checks for teams evaluating whether their MCP tooling depends on the affected SDK, separate from the advisory's own text.

Since the advisory is silent on n8n, the rest of this section offers our own editorial suggestions for teams that connect n8n to external MCP tooling.

We'd suggest, separate from anything the advisory recommends, that any team connecting n8n to external MCP servers through AI chat clients check whether their MCP tooling depends on this SDK's OAuth client code, and if so, confirm which version is running before assuming the fix does not apply.

Until a team confirms its own exposure, suggested checks:

For teams that want structured practice inspecting an MCP integration critically before trusting it in production, n8n Balloon Challenges' MCP server challenge walks through building an MCP server in n8n that AI clients can discover and call tools through, which is one way to build that habit of scrutiny.

Put this into practice

What’s for Dinner?

Build a read-only Mercadona MCP server and let a Telegram shopping assistant turn any dish into a live, priced product list.

Advanced

Try a hands-on challenge

For your team

Custom n8n training programs for one team or department, run on your own n8n instance with your own tools and data.

Training for your team

n8n skills assessment

A free quiz of about 20 minutes: 30 questions in 10 skill areas and a level from Beginner to Expert. On AI Adoption Score, another project by the author of this site.

Get your n8n level