PyJWT to implementacja JSON Web Token w Pythonie. Przed wersją 2.13.0 funkcja PyJWKClient.get_signing_key() wymuszała świeże żądanie HTTP do punktu końcowego JWKS dla każdego JWT z nieznaną wartością kid, bez ograniczenia szybkości. Ponieważ kid pochodzi z niezweryfikowanego nagłówka tokenu, atakujący może wyzwolić nieograniczoną liczbę żądań wychodzących. Podatność ujawnia się tylko gdy pobieranie JWKS nie powiedzie się; atakujący może próbować to sprowokować poprzez ruch z nieznanym kid, ale rezultat zależy od zachowania upstream'owego punktu końcowego JWKS (rate limiting, błędy przejściowe), które pozostają poza kontrolą atakującego. Podatność została naprawiona w wersji 2.13.0.
▸ Pokaż oryginał (EN)
PyJWT is a JSON Web Token implementation in Python. Prior to 2.13.0, PyJWKClient.get_signing_key() forces a fresh HTTP request to the JWKS endpoint for every JWT with an unknown kid value, with no rate limiting. Since kid comes from the unverified token header, an attacker can trigger unlimited outbound requests. The vulnerability surfaces only when a JWKS fetch fails; an attacker can attempt to provoke that with sustained unknown-kid traffic, but the outcome depends on upstream JWKS-endpoint behavior (rate limiting, transient errors) which is beyond the attacker's control. This vulnerability is fixed in 2.13.0.
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:LPyjwt Project Pyjwt
APPPyjwt Project< 2.13.0
Powiązane podatności
PyJWT is a JSON Web Token implementation in Python. Prior to 2.13.0, when the verifier is decoding JSON Web To...
PyJWT is a JSON Web Token implementation in Python. Prior to 2.12.0, PyJWT does not validate the crit (Critica...
pyjwt v2.10.1 was discovered to contain weak encryption. NOTE: this is disputed by the Supplier because the ke...
PyJWT is a Python implementation of RFC 7519. PyJWT supports multiple different JWT signing algorithms. With J...
In PyJWT 1.5.0 and below the `invalid_strings` check in `HMACAlgorithm.prepare_key` does not account for all P...