CVE-2026-86146
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Niespójna interpretacja żądań HTTP (przemycanie żądań/odpowiedzi HTTP) w dołączonym parserze HTTP/1.1 Apache bRPC (wersja < 1.18.0) na wszystkich platformach umożliwia zdalnym atakującym przemycanie żądań i wstrzykiwanie nagłówków, gdy bRPC jest wdrażane za serwerem proxy lub modułem równoważenia obciążenia, który analizuje te same bajty w różny sposób.
Główna przyczyna:
Rozwidlenie bRPC parsera http akceptuje i działa na kilku formularzach nagłówka HTTP/1.1, które zgodny front-end albo odrzuca, albo interpretuje inaczej, więc ramka lub zestaw nagłówków wiadomości może różnić się między front-endem a bRPC:
1. Akceptowana jest spacja przed dwukropkiem nagłówków ramek (np. Content-Length : 5); wartość nadal steruje ramkowaniem bRPC, podczas gdy zgłaszana nazwa pola zawiera końcową spację.
2. Wewnętrzne spacje wewnątrz wartości Content-Length (np. Content-Length: 1 3) są pomijane, więc bRPC odczytuje 13, gdzie front-end odczytuje 1 lub odrzuca wiadomość (ta sama klasa co CVE-2022-32213 w Node.js).
3. Akceptowane jest przestarzałe zwijanie linii (obs-fold, RFC 7230 3.2.4) wartości Content-Length i Transfer-Encoding, więc złożona wartość ramki steruje ramkowaniem bRPC, podczas gdy front-end, który się nie rozwija, widzi inny komunikat.
4. Podzielone pola zwiastuna są podawane do tych samych wywołań zwrotnych nagłówka co sekcja nagłówka i są scalane z mapą nagłówka jak prawdziwe nagłówki. Frontend sprawdza tylko sekcję nagłówka, więc każde podzielone na części żądanie może przemycić obok niego pola takie jak Authorization lub X-Forwarded-For.
5. Listy Transfer-Encoding z opcjonalnymi białymi znakami po przecinku (np. Transfer-Encoding: gzip, chunked) nie są rozpoznawane jako podzielone na fragmenty: takie żądania są odrzucane, a odpowiedzi są odczytywane do momentu zamknięcia połączenia, a nie jako fragmenty, co powoduje desynchronizację odpowiedzi.
Dotknięte scenariusze:
Serwer lub klient bRPC komunikujący się za pośrednictwem protokołu HTTP/1.1 z przednim serwerem proxy, modułem równoważenia obciążenia lub dowolnym elementem równorzędnym, który niezależnie analizuje wiadomość. Osoba atakująca, która może wysyłać żądania przez interfejs użytkownika, może zdesynchronizować dwa analizatory składni w celu przemycenia żądań, sfałszowania nagłówków (np. Autoryzacji, X-Forwarded-For) poprzez podzielone na części zwiastuny lub desynchronizacji odpowiedzi.
Jak naprawić:
(Wybierz jedną z poniższych opcji)
1. Zaktualizuj bRPC do wersji 1.18.0, która rozwiązuje ten problem.
2. Zastosuj tę poprawkę: https://github.com/apache/brpc/pull/3521
Uwaga:
Po zastosowaniu poprawki cztery powyższe formularze nagłówków są domyślnie odrzucane, a podzielone na części zwiastuny są usuwane zamiast łączyć się z mapą nagłówka. Dla zapewnienia kompatybilności dostępne są dwie flagi gflag: http_allow_obs_fold=true przywraca akceptację złożonych wartości Content-Length/Transfer-Encoding, a http_strict_header_token=true dodatkowo odrzuca spacje wewnątrz nazw pól nagłówka (nie tylko tych, które decydują o ramce). Nie ma to wpływu na legalnych klientów, którzy nie korzystają z tych przestarzałych formularzy.
>_ Słabości (CWE)
>_ Referencje
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org