CVE-2025-65015
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 37 - wyżej niż 37% wszystkich znanych CVE
Streszczenie
W bibliotece joserfc w wersjach od 1.3.3 do przed 1.3.5 oraz od 1.4.0 do przed 1.4.2 komunikaty wyjątku ExceededSizeError zawierają nieodkodowane części tokenu JWT, co może powodować zapisanie w logach Pythona dowolnie dużego, sfałszowanego ładunku JWT. Podatność naprawiono w wersjach 1.3.5 i 1.4.2.
Ocena ryzyka
Atakujący może wysyłać bardzo duże tokeny bearer w nagłówkach HTTP, powodując przetwarzanie ogromnych komunikatów logów przez systemy logowania lub diagnostyczne (np. Sentry), co może prowadzić do wyczerpania zasobów lub zaśmiecenia logów.
Rekomendacja
Zaktualizuj joserfc do wersji 1.3.5 lub 1.4.2 (lub nowszej). Upewnij się, że przed aplikacją Python działa poprawnie skonfigurowany serwer WWW ograniczający rozmiar nagłówków.
Inne podatności w joserfc
Zobacz wszystkie- CVE-2026-102946Krytyczne
joserfc to biblioteka Pythona implementująca kilka standardów JSON Object Signing and Encryption (JOSE). Przed wersją 1.7.4 joserfc.jws.deserialize_json() akceptuje JWS General JSON Serialization z pustą tablicą signatures jako uwierzytelnione. Pętla verify_general_json() nie wykonuje żadnych iteracji dla pustej tablicy i zwraca sukces, ponieważ żadna weryfikacja podpisu nie zawiodła, co pozwala atakującemu bez klucza podpisującego dostarczyć dowolny ładunek, który aplikacje mogą uznać za autentyczny. Problem dotyczy ścieżki General JSON Serialization; kompaktowe dekodowanie JWS i JWT, Flattened JSON serialization oraz przetwarzanie JWE JSON nie podążają tą podatną ścieżką. Problem naprawiono w wersji 1.7.4.
- CVE-2026-119284Średnie
joserfc to biblioteka Pythona implementująca standardy JOSE. Przed wersją 1.7.6 deserializacja kompaktowego JWS wywołuje bytes.split() przed egzekwowaniem istniejących limitów rozmiaru segmentów. Gdy kontrolowane przez atakującego bajty trafiają do deserialize_compact(), split tworzy kopie nagłówka, ładunku i podpisu przed odrzuceniem przez ExceededSizeError, powodując dodatkową alokację proporcjonalną do dostarczonego tokenu.
- CVE-2026-119283Wysokie
W bibliotece joserfc przed wersją 1.7.5 funkcja joserfc.jwe.decrypt_json() przyjmuje tablicę recipients w formacie JWE General JSON Serialization bez limitu liczby elementów i wywołuje decrypt_cek() dla każdego wpisu. Nieuwierzytelniony atakujący może kontrolować liczbę operacji odszyfrowania kluczem prywatnym wykonywanych w jednym żądaniu.
- CVE-2026-75509Średnie
joserfc, biblioteka Pythona implementująca standardy JOSE, przed wersją 1.7.3 zawiera podatność w JWTClaimsRegistry, która stosuje dopasowanie członkostwa do listowych wartości iss i sub. Pozwala to na pominięcie walidacji wydawcy, gdy iss jest tablicą zawierającą oczekiwanego wydawcę.
- CVE-2026-62995Niskie
Biblioteka Python joserfc w wersjach 1.7.1 i wcześniejszych akceptuje tokeny JWT z końcowym dopełnieniem (==), co jest niezgodne ze specyfikacją JOSE. Powoduje to podatność na modyfikację tokenów, co może prowadzić do obejścia mechanizmów unieważniania tokenów lub ochrony przed powtórnym użyciem.
- CVE-2026-49852Wysokie
Podatność w bibliotece joserfc dla Pythona przed wersją 1.6.8 umożliwia atakującemu podrobienie tokenów HMAC, gdy klucz weryfikacyjny jest pustym ciągiem lub None. Biblioteka nie odrzuca zerowej długości klucza, co pozwala na ominięcie weryfikacji podpisu.
- CVE-2026-48990Średnie
Biblioteka joserfc w wersjach od 1.3.4 do 1.6.5 akceptuje zbyt duże ładunki JWS bez odpowiedniego sprawdzenia ich długości, co może prowadzić do wyczerpania zasobów. Problem ten został naprawiony w wersji 1.6.7.
Oryginalny opis (angielski, źródło NVD)
joserfc is a Python library that provides an implementation of several JSON Object Signing and Encryption (JOSE) standards. In versions from 1.3.3 to before 1.3.5 and from 1.4.0 to before 1.4.2, the ExceededSizeError exception messages are embedded with non-decoded JWT token parts and may cause Python logging to record an arbitrarily large, forged JWT payload. In situations where a misconfigured — or entirely absent — production-grade web server sits in front of a Python web application, an attacker may be able to send arbitrarily large bearer tokens in the HTTP request headers. When this occurs, Python logging or diagnostic tools (e.g., Sentry) may end up processing extremely large log messages containing the full JWT header during the joserfc.jwt.decode() operation. The same behavior also appears when validating claims and signature payload sizes, as the library raises joserfc.errors.ExceededSizeError() with the full payload embedded in the exception message. Since the payload is already fully loaded into memory at this stage, the library cannot prevent or reject it. This issue has been patched in versions 1.3.5 and 1.4.2.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

