Skip to content
Fencer Vulns
high 7.5

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-1765382758
    fixed: vendor fix RHSA-2025:23061
  • Red Hat Quay 3.10 quay 3.10.17-1764168428, quay 3.10.17-1765384144
    fixed: vendor fix RHSA-2025:23064
  • Red Hat Quay 3.12 quay 3.12-1765361593
    fixed: vendor fix RHSA-2025:23028
  • Red Hat Quay 3.13 quay v3.13.10-1765782391
    fixed: vendor fix RHSA-2025:23176
  • Red Hat Quay 3.14 quay 1773097621
    fixed: vendor fix RHSA-2026:4215
  • Red Hat Quay 3.15 quay 1770146565
    fixed: 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 more
    not 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

Weakness
  • CWE-345 Insufficient Verification of Data Authenticity
  • CWE-863 Incorrect Authorization

References

Sources

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.