CVE-2026-77775: Server-Side Request Forgery (SSRF) in Headroom Labs Headroom
Headroom's LLM proxy lets a client choose the upstream destination with the x-headroom-base-url request header. _resolve_openai_upstream_base in headroom/proxy/handlers/openai.py accepts the header value, requires only that it parse with an http or https scheme and a hostname, and returns it for use as the upstream base; _select_passthrough_base_url in headroom/providers/proxy_routes.py reads the same header for the passthrough routes. No check rejects loopback, link-local, or RFC 1918 destinations, and because the component is a proxy the upstream response is returned to the caller, so the request reaches internal services and cloud metadata addresses and their responses are disclosed. The Authorization header accompanying the request is forwarded unchanged to the caller-designated host. The pip console script binds 127.0.0.1 by default, but the reference docker-compose.yml ships --host 0.0.0.0 with published ports and no required HEADROOM_PROXY_TOKEN, which the server itself warns about at startup, so a deployment following the shipped compose exposes the affected data-plane routes to the network without authentication.
AI Analysis
Technical Summary
Headroom's LLM proxy lets clients specify the upstream destination via the x-headroom-base-url HTTP header. The code accepts any URL with an http or https scheme and hostname without blocking loopback, link-local, or RFC 1918 private addresses. Because the proxy returns upstream responses directly to the client and forwards the Authorization header unchanged, an attacker can access internal services and cloud metadata endpoints, potentially disclosing sensitive data. The default docker-compose deployment exposes these routes on all interfaces without requiring authentication, further increasing exposure. Versions of Headroom prior to 0.36.1 are affected.
Potential Impact
An unauthenticated remote attacker can exploit this SSRF vulnerability to make the Headroom server send arbitrary HTTP requests to internal network resources, including cloud metadata services. This can lead to disclosure of sensitive internal information or credentials. The vulnerability does not allow integrity or availability impact but can cause significant confidentiality breaches. The default insecure deployment configuration increases the attack surface by exposing the vulnerable proxy routes without authentication.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, avoid deploying Headroom with the default docker-compose configuration that binds to 0.0.0.0 and does not require HEADROOM_PROXY_TOKEN authentication. Restrict network access to the vulnerable proxy routes and configure authentication tokens to prevent unauthorized access. Monitor vendor advisories for official patches or updates.
CVE-2026-77775: Server-Side Request Forgery (SSRF) in Headroom Labs Headroom
Description
Headroom's LLM proxy lets a client choose the upstream destination with the x-headroom-base-url request header. _resolve_openai_upstream_base in headroom/proxy/handlers/openai.py accepts the header value, requires only that it parse with an http or https scheme and a hostname, and returns it for use as the upstream base; _select_passthrough_base_url in headroom/providers/proxy_routes.py reads the same header for the passthrough routes. No check rejects loopback, link-local, or RFC 1918 destinations, and because the component is a proxy the upstream response is returned to the caller, so the request reaches internal services and cloud metadata addresses and their responses are disclosed. The Authorization header accompanying the request is forwarded unchanged to the caller-designated host. The pip console script binds 127.0.0.1 by default, but the reference docker-compose.yml ships --host 0.0.0.0 with published ports and no required HEADROOM_PROXY_TOKEN, which the server itself warns about at startup, so a deployment following the shipped compose exposes the affected data-plane routes to the network without authentication.
CVSS v3.1
Score 8.6high
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
Headroom's LLM proxy lets clients specify the upstream destination via the x-headroom-base-url HTTP header. The code accepts any URL with an http or https scheme and hostname without blocking loopback, link-local, or RFC 1918 private addresses. Because the proxy returns upstream responses directly to the client and forwards the Authorization header unchanged, an attacker can access internal services and cloud metadata endpoints, potentially disclosing sensitive data. The default docker-compose deployment exposes these routes on all interfaces without requiring authentication, further increasing exposure. Versions of Headroom prior to 0.36.1 are affected.
Potential Impact
An unauthenticated remote attacker can exploit this SSRF vulnerability to make the Headroom server send arbitrary HTTP requests to internal network resources, including cloud metadata services. This can lead to disclosure of sensitive internal information or credentials. The vulnerability does not allow integrity or availability impact but can cause significant confidentiality breaches. The default insecure deployment configuration increases the attack surface by exposing the vulnerable proxy routes without authentication.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, avoid deploying Headroom with the default docker-compose configuration that binds to 0.0.0.0 and does not require HEADROOM_PROXY_TOKEN authentication. Restrict network access to the vulnerable proxy routes and configure authentication tokens to prevent unauthorized access. Monitor vendor advisories for official patches or updates.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- VulnCheck
- Date Reserved
- 2026-08-21T11:09:25.553Z
- Cvss Version
- 3.1
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a883893acd9273b49123404
Added to database: 08/21/2026, 11:37:55 UTC
Last enriched: 08/21/2026, 11:52:13 UTC
Last updated: 08/21/2026, 12:40:32 UTC
Views: 6
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.