> CVE-2026-77776 [CRITICAL]

« BACK_TO_HOME
PUBLISHED
2026-08-21 12:16
MODIFIED
2026-08-21 12:16
CVSS_SCORE V3
9.3
EPSS (Prob. Exploit)
0.61%
Top 51.3%
DATA SOURCES:
NVD đź”— 2026-08-21 CWE MITRE đź”— 2026-09-01 FIRST EPSS đź”— 2026-10-25 OSV đź”— 2026-08-28

> DESCRIPTION

Headroom's LLM proxy derives the memory owner from the x-headroom-user-id request header. The header is read directly at several points in headroom/proxy/handlers/openai.py, including the chat completion and websocket paths, and nothing binds the value to the caller. A client can therefore name another user's identifier and read or write that user's stored LLM memory. The fix introduces a single resolve_memory_identity seam in headroom/proxy/identity.py that honors the header only for loopback or allowlisted callers and otherwise binds the identity to the proxy-token fingerprint or the operating system user. 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.

> AFFECTED_PRODUCTS

ℹ️ Aucun produit affecté n'a encore été publié par NVD pour cette CVE.

> CVSS V3 METRICS

CVSS_VECTOR
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

> MÉTRIQUES CVSS DÉTAILLÉES

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Métrique Valeur Interprétation
AV (Vecteur d'Attaque)
Attack Vector
Network (N)
Exploit possible à distance via réseau (HTTP, API, etc.)
AC (Complexité d'Attaque)
Attack Complexity
Low (L)
Peu de conditions requises pour exploiter
PR (Privilèges Requis)
Privileges Required
None (N)
Aucune authentification requise
UI (Interaction Utilisateur)
User Interaction
None (N)
Aucune interaction utilisateur nécessaire
S (Périmètre)
Scope
Unchanged (U)
Impact reste dans le périmètre du composant compromis
C (Impact Confidentialité)
Confidentiality Impact
High (H)
Divulgation totale d'informations
I (Impact Intégrité)
Integrity Impact
High (H)
Modification totale des données possible
A (Impact Disponibilité)
Availability Impact
None (N)
Aucune interruption de service

> RÉSUMÉ DES IMPACTS

Confidentialité
High
Divulgation totale d'informations
Intégrité
High
Modification totale des données possible
Disponibilité
None
Aucune interruption de service

> WEAKNESSES

CWE-639

> CWE DETAILED DESCRIPTIONS

CWE-639: Authorization Bypass Through User-Controlled Key - The system's authorization functionality does not prevent one user from gaining access to another user's data or record by modifying the key value identifying the data.

> OSV (GOOGLE OPEN SOURCE VULNERABILITIES)

Headroom Proxy Treats the Client-Supplied x-headroom-user-id Header as an Authenticated Identity

AFFECTED PACKAGES:
Unknown / Unknown
163 versions affected

> HISTORIQUE DES MODIFICATIONS

Première apparition
21/08/2026 12:16
Source: NVD
📊 ENRICHISSEMENT 01/09/2026 06:02
CWE
Champ modifié: Description CWE
Ancienne valeur:
N/A
Nouvelle valeur:
CWE-639: Authorization Bypass Through User-Controlled Key - The system's authorization functionality does not prevent one user from gaining access to another user's data or record by modifying the key...
Total des modifications: 1 Dernière mise à jour: 1 month ago

> REFERENCES

https://github.com/headroomlabs-ai/headroom
https://github.com/headroomlabs-ai/headroom/blob/v0.29.0/headroom/proxy/handlers...
https://github.com/headroomlabs-ai/headroom/blob/v0.36.1/headroom/proxy/identity...
https://github.com/headroomlabs-ai/headroom/pull/2207
https://www.vulncheck.com/advisories/headroom-proxy-treats-the-client-supplied-x...
« BACK_TO_HOME