Katalog CVE

CVE-2026-102273

WysokieCVSS 7.4
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

PyJWT to implementacja standardów JSON Web Token w Pythonie. Od wersji 2.13.0 do 2.14.0 funkcja HMACAlgorithm.prepare_key jest podatna, ponieważ ochrona klucza HMAC rozpoznaje tylko publiczne formy JWK najwyższego poziomu i pomija reprezentacje kontenerowe. Gdy aplikacja zezwala na algorytmy HMAC i asymetryczne oraz przekazuje publiczny kontener JWK jako surowy klucz, publiczny materiał klucza asymetrycznego jest akceptowany jako sekret HMAC. W rezultacie atakujący znający klucz publiczny może sfałszować token z dowolnymi uwierzytelnionymi oświadczeniami.

Ocena ryzyka

Atakujący może podszyć się pod dowolnego użytkownika, tworząc fałszywe tokeny JWT, jeśli zna klucz publiczny. Prowadzi to do obejścia uwierzytelniania i nieautoryzowanego dostępu.

Rekomendacja

Zaktualizuj PyJWT do wersji 2.14.0. Nie używaj publicznych kluczy JWK jako sekretów HMAC w konfiguracjach mieszających algorytmy.

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.13.0 until 2.14.0, PyJWT HMACAlgorithm.prepare_key is affected because HMAC key guard only recognizes top-level public JWK forms and misses container representations. This occurs when an application allows HMAC and asymmetric algorithms and passes a public JWK container as the raw key. As a result, public asymmetric key material is accepted as the HMAC secret. Consequently, an attacker who knows the public key can forge a token with arbitrary authenticated claims. This issue is fixed in version 2.14.0.

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