Case · DiggingBeagle record

FastMCP machine-to-machine OAuth wrappers lacked issuer binding

An MCP peer could advertise an attacker-chosen authorization server and receive client credentials through affected FastMCP M2M OAuth wrapper behavior.

Scope

FastMCP 4.0.0a1 to before 4.1.2 with affected MCP client wrapper configuration.

Assessment profile

Assessment method
Setting
research demonstration
Exploitation
demonstrated
Evidence
Grade B
Remediation
patch available
AI role
AGAINST AI
Basis and provenance

CASE-2026-FASTMCP-ISSUER-SECRET: GHSA-vqqp-x5qm-5qp4 describes issuer-unbound M2M OAuth wrappers and a fix in FastMCP 4.1.2. Evidence comes from SRC-2026-FAST-MCP-ISSUER-GHSA. Published technical statements or controlled results are not verified production-loss counts. No impact band is assigned because the observed outcome and its denominator do not establish a comparable severity measure.

Assessed Oct 24, 2026 using diggingbeagle.assessment/1.

At a glance

Mechanism and trust boundary

  1. 01

    Configure machine-to-machine OAuth credentials

    An MCP client wrapper holds a pre-registered secret or signing capability associated with a known authorization-server issuer.

    Boundary: Local configuration / M2M secret

  2. 02

    Accept untrusted server-advertised metadata

    A malicious or compromised MCP server advertises a different authorization server or token endpoint.

    Boundary: Remote discovery metadata / OAuth issuer selection

  3. 03

    Present the credential to the attacker endpoint

    An affected wrapper lacks issuer binding, enabling disclosure of a client secret or a signed assertion; the private signing key itself does not have to leave the client.

    Boundary: OAuth token endpoint / credential and assertion audience

Timeline

  1. 2026-10 (month precision)
    Event type unspecified

    FastMCP OAuth issuer flaw disclosed

    A machine-to-machine issuer mismatch was disclosed and corrected for the affected 4.x wrappers.

  2. Oct 20, 2026
    disclosure

    Public disclosure

Claims & evidence

CLM-FASTMCP-ISSUER-01GHSA-vqqp-x5qm-5qp4 describes issuer-unbound M2M OAuth wrappers and a fix in FastMCP 4.1.2.supported

Basis: reported finding

Link to claim
CLM-FASTMCP-ENRICH-KEYThe maintainer says a malicious MCP server can receive the client secret or signed assertion, but not necessarily the signing key; JWT replay depends on audience and source policy.supported

Basis: reported finding

Link to claim
CLM-FASTMCP-ENRICH-VERSIONFastMCP and fastmcp-slim OAuth client-credential wrappers introduced in 4.0.0a1 were affected before 4.1.2; 3.x never included these wrappers.supported

Basis: reported finding

Link to claim

Implications

TLS protects the connection to whichever token endpoint the client selected; it does not establish that the endpoint is the one for which the client credential was issued. A stolen client secret and a misdirected private-key JWT assertion have different replay and key-exposure consequences.

Controls and mitigations

  • Upgrade to FastMCP 4.1.2 or later and explicitly configure or constrain the expected OAuth issuer for every M2M credential. Review token/audience logs rather than assuming a client certificate or HTTPS URL proves correct issuer binding.

Unknowns and contradictions

  • No verified evidence of production losses or a broader exploitation campaign has been presented in the cited material.

Sources and citation

Material revision history

  1. Oct 24, 2026 · Canonical change recorded · new in release · revision 188