Katalog CVE

CVE-2026-103001

ŚrednieCVSS 6.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.24%

Percentyl 13 - wyżej niż 13% wszystkich znanych CVE

Streszczenie

PyJWT to implementacja standardów JSON Web Token w Pythonie. Od wersji 2.11.0 do 2.13.0 metoda PyJWT._merge_options() może modyfikować przekazane przez wywołującego mutowalne mapowanie opcji, gdy verify_signature ma wartość false. Jeśli aplikacja ponownie użyje tego samego mapowania w późniejszym wywołaniu decode() lub decode_complete() i zmieni verify_signature na true, mapowanie może zachować wartości false dla sprawdzeń expiration, not-before, issued-at, audience, issuer, subject i JWT ID, co pozwala zaakceptować podpisany token z nieprawidłowymi zastrzeżonymi oświadczeniami bez wyłączania weryfikacji podpisu. Aplikacje tworzące świeże mapowanie opcji dla każdego wywołania nie są podatne.

Ocena ryzyka

Może prowadzić do akceptacji tokenów z nieprawidłowymi oświadczeniami (np. wygasłych lub o nieprawidłowym odbiorcy), co osłabia kontrolę dostępu i może umożliwić nieautoryzowany dostęp. Dotyczy tylko aplikacji ponownie używających tego samego mutowalnego mapowania opcji.

Rekomendacja

Zaktualizować PyJWT do wersji nowszej niż 2.13.0, gdy będzie dostępna, oraz zmodyfikować kod aplikacji tak, aby dla każdego wywołania decode()/decode_complete() tworzyć świeże mapowanie opcji. Unikać ponownego używania mutowalnych słowników opcji między wywołaniami.

Inne podatności w PyJWT

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

PyJWT is a Python implementation of JSON Web Token standards. From 2.11.0 through 2.13.0, PyJWT's PyJWT._merge_options() method can modify a caller-supplied mutable options mapping when verify_signature is false. If an application reuses that same mapping for a later decode() or decode_complete() call and changes verify_signature to true, the mapping can retain false values for expiration, not-before, issued-at, audience, issuer, subject, and JWT ID checks. A signed token with invalid registered claims can then be accepted without disabling signature verification, but applications that create a fresh options mapping for each call are not affected.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS