CVE-2026-71416
WysokieCVSS 8.8Streszczenie
W wersjach Headroom przed 0.35.0 serwer WebSocket nie weryfikuje nagłówka `Origin` przychodzących żądań przed przekazaniem ich do serwera nadrzędnego, co pozwala złośliwym klientom WebSocket na wykonywanie dowolnych żądań do LLM bez uwierzytelnienia. Podatność może zostać wykorzystana przez złośliwego klienta WebSocket działającego w przeglądarce, jeśli ma ona dostęp do proxy Headroom, a klucz OpenAI API jest przechowywany w zmiennej środowiskowej `OPENAI_API_KEY`. Wersja 0.35.0 naprawia ten problem.
Ocena ryzyka
Atakujący może nieautoryzowanie korzystać z klucza OpenAI API organizacji, generując koszty i potencjalnie ujawniając dane przesyłane do modelu, a także nadużywając zasobów proxy.
Rekomendacja
Zaktualizować Headroom do wersji 0.35.0 lub nowszej, a do czasu aktualizacji ograniczyć dostęp sieciowy do serwera WebSocket i chronić zmienną środowiskową z kluczem API.
Inne podatności w Headroom
Zobacz wszystkie- CVE-2026-77776Krytyczne
Proxy LLM Headroom wywodzi właściciela pamięci z nagłówka żądania x-headroom-user-id. Nagłówek jest odczytywany bezpośrednio w kilku miejscach, a nic nie wiąże wartości z wywołującym. Klient może podać identyfikator innego użytkownika i odczytać lub zapisać jego pamięć LLM. Poprawka wprowadza pojedynczy punkt resolve_memory_identity, który honoruje nagłówek tylko dla wywołań z loopback lub z listy dozwolonych, a w przeciwnym razie wiąże tożsamość z odciskiem tokena proxy lub użytkownikiem systemu operacyjnego. Domyślna konfiguracja pip wiąże 127.0.0.1, ale referencyjny docker-compose.yml udostępnia porty bez wymaganego tokena, co naraża trasy danych na sieć bez uwierzytelnienia.
- CVE-2026-77775Wysokie
Proxy LLM Headroom pozwala klientowi wybrać docelowy serwer za pomocą nagłówka x-headroom-base-url. Brakuje sprawdzenia, czy cel nie jest adresem pętli zwrotnej, link-local lub RFC 1918, co umożliwia dostęp do wewnętrznych usług i adresów metadanych chmury. Dodatkowo, nagłówek Authorization jest przekazywany do wskazanego hosta. Domyślna konfiguracja docker-compose.yml wystawia porty bez wymaganego tokena, co zwiększa ryzyko.
Oryginalny opis (angielski, źródło NVD)
Headroom compresses data before the data reaches a large language model. Prior to version 0.35.0, the Headroom WebSocket server does not validate the `Origin` header of incoming client WebSocket requests before forwarding the request to the upstream server, allowing malicious WebSocket clients to perform arbitrary LLM requests without authentication. This can be exploited by a malicious WebSocket client executed in a traditional or headless browser such as lightpanda, if the browser has access to the Headroom proxy and the OpenAI API key is stored in the `OPENAI_API_KEY` environment variable. Version 0.35.0 fixes the issue.

