Podatność w Squid przed wersją 4.12 oraz 5.x przed 5.0.3 umożliwia atakującemu przeprowadzenie ataku Request Smuggling i zatruwania cache HTTP. Jest to podatność krytyczna (CVSS 9.9), mogąca prowadzić do nieautoryzowanego dostępu do danych i manipulacji odpowiedziami serwera.
▸ Pokaż oryginał (EN)
An issue was discovered in http/ContentLengthInterpreter.cc in Squid before 4.12 and 5.x before 5.0.3. A Request Smuggling and Poisoning attack can succeed against the HTTP cache. The client sends an HTTP request with a Content-Length header containing "+\ "-" or an uncommon shell whitespace character prefix to the length field-value.
Błąd znajduje się w pliku http/ContentLengthInterpreter.cc i dotyczy nieprawidłowego przetwarzania nagłówka Content-Length (CWE-444 — niespójne interpretowanie wiadomości HTTP). Klient wysyła żądanie HTTP zawierające nagłówek Content-Length z wartością poprzedzoną znakami "+", "-" lub rzadko spotykanymi białymi znakami powłoki. Squid błędnie interpretuje takie żądanie, co pozwala na przemycenie dodatkowych żądań HTTP wewnątrz jednego połączenia (Request Smuggling) i w konsekwencji zatrucie pamięci podręcznej proxy (cache poisoning).
Atakujący uwierzytelniony w systemie (wymagany niski poziom uprawnień) może manipulować zawartością cache HTTP serwera proxy, doprowadzając do serwowania złośliwych lub fałszywych odpowiedzi innym użytkownikom, a także potencjalnie uzyskać dostęp do poufnych danych lub naruszyć integralność i dostępność systemu.
Należy zaktualizować Squid do wersji 4.12 lub nowszej (gałąź 4.x) albo do wersji 5.0.3 lub nowszej (gałąź 5.x). Dostępne są zestawy zmian producenta: dla gałęzi v4 patch squid-4-ea12a34d338b962707d5078d6d1fc7c6eb119a22 oraz dla gałęzi v5 patch squid-5-485c9a7bb1bba88754e07ad0094647ea57a6eb8d. Użytkownicy dystrybucji openSUSE powinni zastosować aktualizacje bezpieczeństwa dostarczone przez dostawcę.
Squid w wersjach przed 4.12 oraz Squid 5.x w wersjach przed 5.0.3 (produkt: Squid-Cache Squid)
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HFedora Project Fedora
OSFedoraproject31Squid Cache Squid
APPSquid-Cache2.72.0 – 2.63.1 – 3.5.284.0 – 4.12 (bez)5.0 – 5.0.3 (bez)
Powiązane podatności
PHP CGI argument injection – RCE na Windows przez mechanizm Best-Fit
Type Confusion w V8 (Google Chrome) — RCE przez spreparowaną stronę HTML
Type Confusion w silniku V8 Chrome — zdalne wykonanie kodu (RCE)
Use-after-free w Google Chrome Visuals umożliwiający ucieczkę z sandbox
Integer overflow w Skia w Google Chrome — sandbox escape