CVE-2026-49852
WysokieCVSS 8.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 6 - wyżej niż 6% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może sfałszować tokeny JWT, co może prowadzić do nieautoryzowanego dostępu do systemów używających tej biblioteki do uwierzytelniania.
Rekomendacja
Zaleca się aktualizację biblioteki joserfc do wersji 1.6.8 lub nowszej.
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-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.6.8, joserfc.jwt.decode accepts attacker-forged HMAC-signed tokens when the caller-supplied verification key is the empty string or None, because HMACAlgorithm.sign and HMACAlgorithm.verify in src/joserfc/_rfc7518/jws_algs.py pass the output of OctKey.get_op_key(...) to hmac.new(...) and OctKey.import_key in src/joserfc/_rfc7518/oct_key.py only emits a SecurityWarning for keys shorter than 14 bytes without rejecting zero-length input. This issue is fixed in version 1.6.8.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

