CVE-2025-59420 json
Authlib: JWS/JWT accepts unknown crit headers (RFC violation → possible authz bypass)
published 2025-09-22 13 mo ago modified 2026-10-19 21 d ago also EUVD-2025-30790 , GHSA-9ggr-2464-2j32 , PYSEC-2026-1200
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 20%
- public exploits
- 0
- none known
Summary
Authlib is a Python library which builds OAuth and OpenID Connect servers. Prior to version 1.6.4, Authlib’s JWS verification accepts tokens that declare unknown critical header parameters (crit), violating RFC 7515 “must‑understand” semantics. An attacker can craft a signed token with a critical header (for example, bork or cnf) that strict verifiers reject but Authlib accepts. In mixed‑language fleets, this enables split‑brain verification and can lead to policy bypass, replay, or privilege escalation. This issue has been patched in version 1.6.4.
Patch / fix
- pypi authlib 1.6.4
- authlib authlib 1.6.4
- python-authlib Debian 12 1.2.0-1+deb12u1
- python-authlib Debian 13 1.6.0-1+deb13u1
- python-authlib Debian 14 1.6.4-1
debian advisories DEBIAN-CVE-2025-59420
- python-authlib Ubuntu Pro 22.04 LTS 0.15.5-1ubuntu0.1~esm1
- python-authlib Ubuntu Pro 24.04 LTS 1.3.0-1ubuntu0.1~esm1
ubuntu advisories UBUNTU-CVE-2025-59420
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2025-59420 updated cvss 7.5
authlib: Authlib RFC violation
-
Red Hat Quay 3.9 quay 3.9-1764254756, quay 3.9-1765382758fixed: vendor fix RHSA-2025:23061
-
Red Hat Quay 3.10 quay 3.10.17-1764168428, quay 3.10.17-1765384144fixed: vendor fix RHSA-2025:23064
-
Red Hat Quay 3.12 quay 3.12-1765361593fixed: vendor fix RHSA-2025:23028
-
Red Hat Quay 3.13 quay v3.13.10-1765782391fixed: vendor fix RHSA-2025:23176
-
Red Hat Quay 3.14 quay 1773097621fixed: vendor fix RHSA-2026:4215
-
Red Hat Quay 3.15 quay 1770146565fixed: vendor fix RHSA-2026:1942
-
Red Hat Quay 3.9 quay 3.9-1764254756, quay 3.14-1764254756, quay 3.14-1765382758, quay 8.10-1764254756, quay 8.10-1765382758, quay 3.9.17-1764254756, +2 more Red Hat Quay 3.10 quay 3.14-1764168428, quay 3.14-1765384144, quay 8.10-1764168428, quay 3.10.17-1764168428, quay 3.10.17-1765384144, quay v3.10.16-1764168428, +1 more Red Hat Quay 3.12 quay 3.14-1765361593, quay 8.10-1765361593, quay 3.12.13-1765361593, quay v3.12.0-1765361593 Red Hat Quay 3.13 quay v3.13.10-1765782391 Red Hat Quay 3.14 quay 1771008628, quay 1771265622, quay 1773097298, quay 1773097302, quay 1773097311, quay 1773097327, +3 more Red Hat Quay 3.15 quay 1770134320, quay 1770134351, quay 1770134397, quay 1770134436, quay 1770135404, quay 1770135436, +3 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 13 mo ago
Exploit prediction
0.27% chance of exploitation in the next 30 days, higher than 20% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/authlib/authlib/security/advisories/GHSA-9ggr-2464-2j32 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| OSV | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | authlib | <1.6.4 |
1.6.4 |
Affected products
- authlib authlib
Classification
References
-
github.com
/authlib/authlib/commit/6b1813e4392eb7c168c276099ff7783b176479df
web, patch
-
github.com
/authlib/authlib/security/advisories/GHSA-9ggr-2464-2j32
web, exploit, vendor-advisory
-
lists.debian.org
/debian-lts-announce/2025/10/msg00032.html
web
-
nvd.nist.gov
/vuln/detail/CVE-2025-59420
advisory
-
github.com
/authlib/authlib
package
-
pypi.org
/project/authlib
package
-
github.com
/advisories/GHSA-9ggr-2464-2j32
advisory
Sources
- CVE List CVE-2025-59420
- GitHub Advisory GHSA-9ggr-2464-2j32
- NVD CVE-2025-59420
- OSV PYSEC-2026-1200
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.