Junglewise Threat Intelligence

CVE-2026-48524: PyJWT denial of service via unbounded JWKS endpoint requests

CVE-2026-48524 · Severity: low · CVSS 3.7 · Published 2026-05-28

Technologies: pyjwt (PyPI), Jpadilla PyJWT. Vendors: PyPI, Jpadilla.

Executive brief

A vulnerability in the PyJWT library can allow an attacker to disrupt authentication services. By sending specially crafted tokens with unknown identifiers, an attacker can force the application to make excessive network requests, potentially leading to performance slowdowns or a temporary inability to verify legitimate users. This could impact the availability of services that rely on this library for secure login and identity verification.

Technical details

The PyJWKClient.get_signing_key() function in PyJWT (versions 2.4.0 through 2.12.1) fails to implement rate limiting or a cooldown period when encountering an unknown 'kid' (Key ID) in a JWT header. An attacker can provide unverified tokens with unique 'kid' values to trigger unlimited outbound HTTP requests to the JWKS endpoint. Furthermore, a bug in the fetch_data() finally block causes the JWKS cache to be cleared upon network errors. This combination can lead to a Denial of Service against both the application (via I/O latency) and the JWKS provider, as well as cascading authentication failures if the cache is wiped during a period of high traffic or transient network issues. The issue is fixed in version 2.13.0.

Affected products

  • jpadilla PyJWT 2.4.0 - 2.12.1

Timeline

  • 2026-05-21: disclosed
  • 2026-05-28: advisory: NVD publication date
  • 2026-06-15: advisory: GitHub Advisory reviewed
  • 2026-06-15: patched: Version 2.13.0 released

References

Related threats