CVE-2026-53708 ContextForge: DNS TOCTOU race condition causes SSRF protection bypass (`/admin/gateways/test`)

Medium 6.6 Published Updated

Attacker with specific permissions can bypass SSRF protections via DNS rebinding to access internal services and cloud metadata.

Exploited in the wild
Not known
Login needed
An administrator
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-53708?

CVE-2026-53708 is a medium-severity server-side request forgery vulnerability in IBM mcp-context-forge, published on 14 Sep 2026. An attacker needs administrator access to exploit it, with no action from the victim.

Official description

ContextForge is an AI gateway, registry, and proxy that provides centralized discovery, guardrails, and management for MCP, A2A, and REST or gRPC APIs. Prior to 1.0.3, the /admin/gateways/test call site in mcpgateway/admin.py calls validate_gateway_test_url() in mcpgateway/common/validators.py to resolve and reject private, loopback, link-local, and cloud-metadata addresses, but ResilientHttpClient later resolves the original hostname again without binding the validated address. When MCPGATEWAY_ADMIN_API_ENABLED is enabled, an attacker with a database-backed role containing explicit gateways.read permission can use DNS rebinding to return a public address during validation and a private or metadata address during connection, bypassing ssrf_blocked_networks and ssrf_dns_fail_closed because those controls apply only to the validation-time result. The endpoint's allow_admin_bypass=False setting means a bootstrap-only virtual platform-admin identity without a database role is not sufficient. Successful exploitation can reach internal services and cloud metadata, expose cloud credentials, access internal APIs, or probe internal network ports. This issue is fixed in version 1.0.3.

Weakness: CWE-918, CWE-367, CWE-350

Which versions are affected by CVE-2026-53708?

3 open source packages ship an affected version, including mcp-contextforge-gateway.

PackageAffectedFixed in
mcp-contextforge-gateway PyPIAll versions1.0.3
mcp-contextforge-gateway PyPIAll versions1.0.3
mcp-contextforge-gateway PyPIAll versions1.0.3

How do I fix CVE-2026-53708?

Upgrade mcp-contextforge-gateway to 1.0.3 or later.

Upgrade, and send outbound requests through an allow-list that blocks internal addresses. More about Server-side request forgery.

Is CVE-2026-53708 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-53708 exists.

Sources

Also known as GHSA-9hgc-g3w5-67cm, PYSEC-2026-3684.

Is CVE-2026-53708 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free