CVE-2026-119283
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 14 - wyżej niż 14% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Opcja verify_all_recipients nie ogranicza tej pracy, ponieważ pętla przetwarza wszystkich odbiorców przed sprawdzeniem ustawienia, co pozwala na wyczerpanie CPU usługi poprzez powtarzane żądania.
Rekomendacja
Zaktualizuj joserfc do wersji 1.7.5 lub nowszej. Do czasu aktualizacji rozważ ograniczenie liczby odbiorców w przychodzących tokenach JWE.
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-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.
- CVE-2025-65015Wysokie
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.
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. Prior to 1.7.5, joserfc.jwe.decrypt_json() accepts a JWE General JSON Serialization recipients array without a count limit and calls decrypt_cek() for every entry. An unauthenticated attacker who can submit a JWE to an endpoint using an RSA key-management algorithm can choose the number of private-key decryption operations performed by one request. The verify_all_recipients option does not reduce this work because the affected loop processes every recipient before consulting that setting, allowing repeated requests to exhaust service CPU without affecting confidentiality or integrity. This issue is fixed in version 1.7.5.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

