CVE-2026-48524Low· 3.7▾ SunlitPyJWKClient unbounded JWKS endpoint requests via attacker-controlled kid values (DoS)
▾ Sunlit zone — Low / medium · no exploitation signal
impact 20.4 · likelihood 0.1 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Exploit-prediction probability, daily snapshots since Jul 30.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via OSV
0.3%
Last analysed / modified upstream
0.3% → 0.4%
[!NOTE] 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. Impact is reduced auth availability until the next successful fetch, not complete denial of service.
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.
Additionally, fetch_data() finally block clears the JWKS cache on network error.
jwt/jwks_client.py:172-198 - get_signing_key(kid) calls get_signing_keys(refresh=True) for unknown kids, bypassing TTL cache with no cooldown. jwt/jwks_client.py:120-122 - finally block writes None to cache on error, clearing valid data.
All versions with PyJWKClient (2.4.0 through 2.12.1)
pyjwt >= 2.0.0, < 2.13.0Upgrade to a patched release:
pyjwt 2.13.0Connected by shared product, vendor, weakness, or advisory.
CVE-2026-102274Medium· 5.9PyJWT is a Python implementation of JSON Web Token standards
GHSA-pxh4-856f-4h89High· 7.4PyJWT: HS256/384/512 verify accepts empty HMAC key via oct JWK (PyJWK/PyJWKClient) enabling token forgery
CVE-2026-103001Medium· 6.5PyJWT is a Python implementation of JSON Web Token standards
CVE-2026-102273High· 7.4PyJWT is a Python implementation of JSON Web Token standards
CVE-2026-102275Medium· 6.5PyJWT is a Python implementation of JSON Web Token standards
CVE-2026-102270Medium· 4.4PyJWT is a Python implementation of JSON Web Token standards