Skip to content

Back to the catalog

Top MCP security resources — October 2026
adversa.aiarticle

Top MCP security resources — October 2026

Adversa AI's October 2026 MCP security roundup, aggregating and synthesizing 15 resources: authentication-bypass vulnerabilities in LiteLLM's MCP endpoint (CVE-2026-59822, now CISA KEV), Grafana's MCP server session spoofing/SSRF (CVE-2026-19516), an MCP Python SDK OAuth-fallback flaw exploited by a malicious server returning a 404, and an Obot gateway route-matching bypass reopening GHSA-vw82. It also covers detection failures (two malicious MCP servers passing five scanners including Cisco mcp-scanner and Snyk agent-scan, 12% of 82,000 public MCP configs hardcoding secrets), a malicious npm wallet-signing package (gadgethumans-mcp), the A2M agent-hijacking attack technique, and CoSAI's MCP Security v2.0 governance model.

TL;DR Adversa AI's October 2026 digest of 15 MCP security items: auth-bypass CVEs in LiteLLM and Grafana's MCP server, scanners missing malicious servers, and CoSAI's new MCP Security v2.0 model.
Document

What it is

This roundup carries specific technical details beyond the existing summary for several items: the fixed versions for the MCP Python SDK OAuth flaw, specific CVE/exploitation chains for LiteLLM, concrete attack success rates for A2M, and a detection methodology for indirect prompt injection in MCP servers.

How it works

  • MCP Python SDK OAuth fallback (Cycode): A malicious server returns a 404 to the discovery request, forcing the client into a legacy OAuth fallback that skips issuer validation, leaking client secrets, authorization codes, and PKCE verifiers to attacker endpoints. Fixed in 1.30.0 and 2.2.0.
  • LiteLLM chain: CVE-2026-59822 (invalid bearer token accepted) combines with CVE-2026-59821 (custom code guardrails allow admin code execution) and pass-through endpoints reaching cloud metadata. The page adds that 9.6% of exposed proxies still accept the default sk-1234 master key, turning this into a pre-auth-to-cloud-compromise chain.
  • Obot gateway bypass: the deny list blocks /mcp-connect/ (trailing slash) but not /mcp-connect-composite/, letting any authenticated basic user reach restricted MCP servers. Advisory recommends switching to an allowlist.
  • A2M agent hijacking: two-stage black-box attack — optimize tool metadata so agents pick the malicious tool (93.6% invocation rate), then refine adversarial tool returns from execution traces to drive exfiltration or reasoning derailment (74.4% success). Transfers across models.
  • No-box prompt injection detector: using only registration-time tool metadata (no code access), an analyzer recovered 94 of 95 verified vulnerable tools across 20 deployed MCP servers, vs. 84.2% recall for an LLM baseline.
  • Fragmented injection: splitting one injection across tool descriptions, tool results, and sampling messages exfiltrates credentials at up to 100% from models that resist single-channel injection; missed by seven MCP security tools tested, and VS Code's MCP sampling allows a system prompt override.

Preconditions / Affected

  • MCP Python SDK consumers on versions before 1.30.0/2.2.0.
  • LiteLLM deployed as MCP/model gateway, especially with default master key still set.
  • Obot gateway deployments relying on the deny-list fix for GHSA-vw82.
  • Any MCP client accepting sampling messages or tool results as trusted input (fragmented injection).

What to do

  • Update MCP Python SDK to 1.30.0 or 2.2.0.
  • Patch LiteLLM and change the default sk-1234 master key.
  • Replace Obot's prefix-based deny list with an allowlist.
  • Add reauthorization inside each tool (not just at the gateway) so a single bypass doesn't cascade.
  • Treat MCP config files as credential stores: move secrets out of them (82,000-config scan found 12% of credential slots hardcoded, 55% of those in a shape that evades gitleaks/GitHub scanning).

Caveats

A2M and the fragmented-injection results are reported success/evasion rates from the source research, not independently verified by Adversa AI. The no-box detector's 94/95 figure applies to its own 20-server test set, not a general guarantee.

Organisations named here

  • CoSAI
  • GHSA-vw82

CVEs named here

  • CVE-2026-59822
  • CVE-2026-59821
  • CVE-2026-19516

Technologies named here

  • LiteLLM MCP endpoint / gateway
  • Cycode
  • Cisco MCP Scanner
  • Grafana MCP server
  • MCP Python SDK
  • Snyk Agent Scan
  • NVIDIA SkillSpector
  • Obot MCP gateway
  • Gitleaks
  • gadgethumans-mcp
  • GitHub secret scanning
  • VS Code MCP sampling
  • CoSAI MCP Security Model v2.0
  • No-box vulnerability analyzer
  • Model Context Protocol
  • LiteLLM
  • npm
  • Python
  • Grafana
  • VS Code
  • A2M

Techniques named here

  • Authentication bypass via invalid bearer token acceptance
  • Session ID forgery / spoofing
  • SSRF via spoofable header
  • OAuth discovery fallback abuse
  • Route-matching authorization bypass
  • Tool poisoning
  • A2M trace-optimized agent hijacking
  • Scanner evasion via handler code payloads
  • Fragmented/split prompt injection
  • System prompt override via sampling messages
  • Credential/private key exfiltration via HTTP header
  • Description-only indirect prompt injection detection

Threat actors named here

  • Deadbugz