Podatność w serwerze proxy Squid (wersje przed 5.0.2) pozwala zdalnemu, nieuwierzytelnionemu atakującemu na ominięcie mechanizmu Digest Authentication poprzez odtworzenie przechwyconego nonce. W skrajnym przypadku możliwe jest zdalne wykonanie kodu (RCE).
▸ Pokaż oryginał (EN)
An issue was discovered in Squid before 5.0.2. A remote attacker can replay a sniffed Digest Authentication nonce to gain access to resources that are otherwise forbidden. This occurs because the attacker can overflow the nonce reference counter (a short integer). Remote code execution may occur if the pooled token credentials are freed (instead of replayed as valid credentials).
Mechanizm Digest Authentication w Squid używa licznika odwołań do nonce (nonce reference counter) zadeklarowanego jako krótka liczba całkowita (short integer). Atakujący, który wcześniej podsłuchał prawidłowy nonce sieciowy, może wielokrotnie go odtwarzać, doprowadzając do przepełnienia licznika (integer overflow, CWE-190). Przepełnienie powoduje, że serwer traktuje powtórzony nonce jako prawidłowy, przyznając dostęp do zasobów normalnie niedostępnych. Jeśli w wyniku przepełnienia przechowywane dane uwierzytelniające (pooled token credentials) zostaną zwolnione z pamięci zamiast ponownie użyte, może dojść do wykonania dowolnego kodu przez atakującego.
Atakujący może uzyskać nieautoryzowany dostęp do zasobów chronionych przez Digest Authentication, a w scenariuszu z błędnym zwolnieniem pamięci — wykonać dowolny kod na serwerze (RCE), co zagraża pełnej integralności, poufności i dostępności systemu.
Należy zaktualizować Squid do wersji 5.0.2 lub nowszej. Dla gałęzi v4 dostępny jest patch wskazany w referencjach producenta (changeset squid-4-eeebf0f37a72a2de08348e85ae34b02c34e9a811). Użytkownicy dystrybucji openSUSE i Debian powinni zastosować aktualizacje pakietów dostarczone przez opiekunów dystrybucji.
Squid-Cache Squid w wersjach przed 5.0.2 (w tym gałąź v4). Dotyczy również dystrybucji Debian Linux dostarczających podatne pakiety Squid.
Informacja o podatności została opublikowana 23 kwietnia 2020 r. na liście oss-security. Podatność wynika z użycia zbyt wąskiego typu danych (short integer) dla licznika nonce, co jest klasycznym przypadkiem integer overflow (CWE-190).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HCanonical Ubuntu
OSCanonical16.0418.0419.1020.04Debian
OSDebian10.09.0Fedora Project Fedora
OSFedoraproject303132Opensuse Leap
OSOpensuse15.1Squid Cache Squid
APPSquid-Cache3.0 – 3.5.285.0 – 5.0.2 (bez)4.0 – 4.11 (bez)
Powiązane podatności
GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER
Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)
RCE przez deserializację PHP w Roundcube Webmail (parametr _from)
Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)
Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki