PyJWT is a Python implementation of JSON Web Token standards.
CVE-2026-101917
Summary CVE-2026-48524 (GHSA-fhv5-28vv-h8m8, "PyJWKClient unbounded JWKS endpoint requests via attacker-controlled kid values (DoS)") was fixed in 2.13.0 by stopping fetchdata() from clearing the cache on a fetch error. That closed one amplification path but did not add the mitigation the advisory's title implies: there is still no rate-limit, negative-cache, or minimum-refresh-interval for unknown kids. At HEAD, getsigningkey(kid) (jwt/jwksclient.py:185-211), on any unknown kid, calls getsigningkeys(refresh=True), and refresh=True bypasses jwksetcache unconditionally and forces a fresh fetchdata(). The kid is read from the unverified token header (getsigningkeyfromjwt decodes with verifysignature=False), so no valid token and no authentication is required. lrucache does not cache the raised exception, so even the same unknown kid repeated re-fetches on every call. Affected pyjwt fetches:', hits['n']) print('same unknown kid x5 -> extra fetches:', hits['n'] - before) Output: distinct unknown kids: 8 -> fetches: 9 same unknown kid x5 -> extra fetches: 5 Each unknown kid forces a fresh JWKS fetch; a repeated identical unknown kid still re-fetches every time against an unexpired…
Assessment
- CVSS
- 7.5 (v3.1)
- Severity
- High
- EPSS
- 0.43% chance of exploitation in the next 30 days
- Known exploited
- Not listed in CISA KEV
- Exploit availability
- Nothing found in Exploit-DB, Metasploit, Nuclei or public PoC repositories
- Published
- 28 September 2026
- Last updated
- 7 October 2026
- Weakness
- CWE-770
- Assigner
- security-advisories@github.com
CVSS vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
At the source
References
- https://github.com/jpadilla/pyjwt/commit/ba4853a75fb9676362da17f67d0f64bd18afd4e1
- https://github.com/jpadilla/pyjwt/releases/tag/2.14.0
- https://github.com/jpadilla/pyjwt/security/advisories/GHSA-2gx3-rcp4-g85q
- https://nvd.nist.gov/vuln/detail/CVE-2026-101917
- https://github.com/advisories/GHSA-2gx3-rcp4-g85q
Community proofs of concept
No community proof of concept yet. If you have one for a published vulnerability and the right to share it, add it below — it will appear here once reviewed.
Submit a proof of concept
Only for publicly disclosed vulnerabilities, and only material from testing you were authorised to perform. This platform does not buy, sell, or broker exploits — see earning from vulnerability research for legitimate bounty programs. Submissions are reviewed before they appear. Text only; do not include live credentials, personal data, or anything targeting systems you are not permitted to test.
Query this programmatically
Agents can read this through the MCP endpoint, or over HTTP:
curl https://cve.zerocrew.in/api/cve/CVE-2026-101917