CVE-2026-71416: Headroom Cross-Site WebSocket Hijacking in proxy server

CVE-2026-71416 · Severity: high · CVSS 8.8 · Published 2026-09-11

Headroom is a proxy server that compresses and routes requests to large language model APIs like OpenAI. Prior to version 0.35.0, the Headroom WebSocket server fails to validate the origin of incoming WebSocket connections, allowing malicious browser-based clients to hijack authenticated connections and perform arbitrary LLM requests if the proxy has access to stored API credentials. An attacker could exploit this to make unauthorized API calls, consuming credits and potentially executing harmful instructions through LLM tools.

Technologies: Headroom Labs Headroom. Vendors: Headroom Labs, PyPI.

Quick answers

Is CVE-2026-71416 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-71416 being exploited in the wild.
How severe is CVE-2026-71416?
High severity, with a CVSS score of 8.8, published 11 September 2026.
Which products and versions are affected?
Headroom Labs Headroom prior to 0.35.0; headroom-ai (PyPI) < 0.35.0, ECOSYSTEM:introduced=0,fixed=0.35.0.
Is there a fix for CVE-2026-71416?
Yes. headroom-ai (PyPI): upgrade to 0.35.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-71416 attacked?
It is attacked over the network, in a web application.
Am I affected by CVE-2026-71416?
Check whether you run Headroom Labs Headroom or headroom-ai (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • headroom-ai (PyPI): upgrade to 0.35.0 or later
    pip install "headroom-ai>=0.35.0"

Technical details

The vulnerability is a Cross-Site WebSocket Hijacking (CSWSH) issue in the WebSocket handler at `/v1/responses` in headroom/providers/proxy_routes.py. The root cause is that the `handle_openai_responses_ws()` method accepts WebSocket connections without validating the `Origin` header before calling `websocket.accept()`, allowing any malicious WebSocket client to connect. The Authorization header is automatically populated from the `OPENAI_API_KEY` environment variable if present, granting the attacker authenticated access to upstream LLM APIs. Attack vector is network-based and requires only that a malicious browser can reach the Headroom proxy server—no explicit authentication is required from the attacker. Once connected, the attacker can send arbitrary `response.create` requests with arbitrary instructions, input prompts, and tool calls. The fix is available in version 0.35.0.

Affected products

  • Headroom Labs Headroom prior to 0.35.0

Identifiers

  • CVE-2026-71416
  • GHSA-h46j-26q3-rggf
  • PYSEC-2026-4220

Timeline

  • 2026-08-27: disclosed
  • 2026-08-13: patched: Version 0.35.0 released

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.