Katalog CVE

CVE-2026-102272

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 w jwt/algorithms.py jest podatna, ponieważ detektor surowego JWK nie normalizuje akceptowanych znaczników kolejności bajtów Unicode przed sprawdzeniem JSON. Gdy publiczny JWK jest poprzedzony BOM UTF-8 i używany w ścieżce weryfikacji mieszanej algorytmami, publiczny JWK omija wykrywanie klucza asymetrycznego i staje się sekretem HMAC. W rezultacie atakujący znający klucz publiczny może sfałszować uwierzytelnione tokeny.

Ocena ryzyka

Atakujący może obejść uwierzytelnianie, tworząc fałszywe tokeny JWT, jeśli zna klucz publiczny. Prowadzi to do nieautoryzowanego dostępu do chronionych zasobów.

Rekomendacja

Zaktualizuj PyJWT do wersji 2.14.0. Upewnij się, że klucze publiczne nie są używane jako sekrety HMAC w konfiguracjach mieszanych.

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, HMACAlgorithm.prepare_key in jwt/algorithms.py is affected because raw-JWK detector does not normalize accepted Unicode byte-order marks before checking for JSON. This occurs when a public JWK is prefixed with a UTF-8 BOM and used in a mixed-algorithm verification path. As a result, public JWK bypasses asymmetric-key detection and becomes the HMAC secret. Consequently, an attacker who knows the public key can forge authenticated tokens. This issue is fixed in version 2.14.0.

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