CVE-2025-66418
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 51 - wyżej niż 51% wszystkich znanych CVE
Streszczenie
urllib3 to przyjazna dla użytkownika biblioteka HTTP dla Pythona. Począwszy od wersji 1.24 do 2.6.0, liczba linków w łańcuchu dekompresji była nieograniczona, co pozwalało złośliwemu serwerowi na wstawienie praktycznie nieograniczonej liczby kroków kompresji, prowadząc do wysokiego użycia CPU i ogromnej alokacji pamięci. Podatność została naprawiona w wersji 2.6.0.
Ocena ryzyka
Ryzyko ataku DoS poprzez przeciążenie zasobów systemowych. Złośliwy serwer może wysłać odpowiedź z wieloma krokami kompresji, co może spowodować awarię aplikacji.
Rekomendacja
Należy natychmiast zaktualizować urllib3 do wersji 2.6.0 lub nowszej, aby ograniczyć liczbę kroków dekompresji.
Inne podatności w urllib3
Zobacz wszystkie- CVE-2026-97689Wysokie
Biblioteka urllib3 w wersjach od 1.10.3 do 2.8.0 posiada podatność polegającą na nieograniczonej alokacji pamięci. Metody HTTPResponse.read_chunked i HTTPResponse.stream buforują pole rozmiaru fragmentu (chunk-size) bez limitu długości, aż do napotkania znaku nowej linii lub końca strumienia. Złośliwy serwer HTTP może wysłać bardzo długą, niezakończoną linię rozmiaru fragmentu, co prowadzi do wyczerpania pamięci procesu klienta.
- CVE-2026-97688Średnie
W bibliotece urllib3 (wersje od 2.6.2 do 2.8.0) metody HTTPResponse.stream i HTTPResponse.read_chunked mogą wejść w nieskończoną pętlę, ponieważ dekoder Deflate zachowuje końcowe bajty jako niezużyte dane wejściowe po osiągnięciu końca strumienia i wielokrotnie je dekoduje bez postępu. Problem występuje, gdy niezaufany serwer wyśle odpowiedź chunked z kodowaniem Deflate, której zdekodowana treść przekracza dodatni skończony rozmiar porcji, a zakodowana treść ma końcowe bajty.
- CVE-2026-97687Wysokie
Biblioteka urllib3 w wersjach od 1.26.0 do 2.8.0 nieprawidłowo stosuje ustawienia TLS serwera docelowego do połączenia z proxy HTTPS. Ścieżki konfiguracji proxy_ssl_context, proxy_assert_hostname, proxy_assert_fingerprint, ssl_context, cert_reqs, verify_mode, use_forwarding_for_https=True oraz CERT_NONE nie pozostają rozdzielone. Ustawienie cert_reqs=CERT_NONE może nadpisać proxy_ssl_context.verify_mode, a zmiana ta utrzymuje się w kolejnych połączeniach, co może skutkować połączeniem z proxy HTTPS bez weryfikacji certyfikatu.
- CVE-2026-44432Wysokie
Biblioteka urllib3 dla Pythona w wersjach od 2.6.0 do 2.7.0 przed poprawką zawiera podatność polegającą na dekompresji całej odpowiedzi zamiast żądanej porcji podczas drugiego wywołania HTTPResponse.read(amt=N) przy użyciu oficjalnej biblioteki Brotli lub po wywołaniu HTTPResponse.drain_conn() po częściowym odczycie. Może to prowadzić do nadmiernego zużycia zasobów (wysokie obciążenie CPU i alokacja pamięci) po stronie klienta.
- CVE-2026-21441Wysokie
Biblioteka urllib3 dla Pythona w wersjach od 1.22 do 2.6.2 nieprawidłowo dekompresuje całe treści odpowiedzi HTTP na przekierowania, nawet przy użyciu API strumieniowego. Umożliwia to atak typu „bomba dekompresyjna” prowadzący do nadmiernego zużycia zasobów klienta.
- CVE-2025-66471Wysokie
urllib3 to przyjazna dla użytkownika biblioteka HTTP dla Pythona. Począwszy od wersji 1.0 do 2.6.0, API strumieniowe nieprawidłowo obsługuje mocno skompresowane dane. Podczas strumieniowania skompresowanej odpowiedzi urllib3 może wykonać dekompresję na podstawie nagłówka Content-Encoding (np. gzip, deflate, br, zstd). Logika dekompresji może spowodować pełne zdekodowanie małej ilości mocno skompresowanych danych w jednej operacji, co prowadzi do nadmiernego zużycia zasobów (wysokie użycie CPU i ogromna alokacja pamięci).
Oryginalny opis (angielski, źródło NVD)
urllib3 is a user-friendly HTTP client library for Python. Starting in version 1.24 and prior to 2.6.0, the number of links in the decompression chain was unbounded allowing a malicious server to insert a virtually unlimited number of compression steps leading to high CPU usage and massive memory allocation for the decompressed data. This vulnerability is fixed in 2.6.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

