Authlib: JWS/JWT accepts unknown crit headers (RFC violation → possible authz bypass)
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- None · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-345.
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| authlib | authlib | before 1.6.4 | 1.6.4 | Patch available | CNA |
| — | authlib (PyPI) | before 1.6.4 | 1.6.4 | Patch available | GHSA-9ggr-2464-2j32 |
- authlib Vendorauthlib Affected before 1.6.4 Fixed in 1.6.4 Patch available CNA
- authlib (PyPI) Vendor— Affected before 1.6.4 Fixed in 1.6.4 Patch available GHSA-9ggr-2464-2j32
Remediation
- Fix · CNA authlib (authlib) Fixed in 1.6.4
- Fix · GHSA-9ggr-2464-2j32 authlib (PyPI) Fixed in 1.6.4 Advisory →
Red Hat 10 advisories
- RHSA-2026:4215 Released 2026-03-10 · Red Hat rating ImportantRed Hat Quay 3.14.6
- Red Hat Quay 3.14 registry.redhat.io/quay/quay-rhel8
- RHSA-2026:1942 Released 2026-02-04 · Red Hat rating ImportantRed Hat Quay 3.15.3
- Red Hat Quay 3.15 registry.redhat.io/quay/quay-rhel8
- RHSA-2025:23176 Released 2025-12-15 · Red Hat rating ImportantRed Hat Quay 3.13.10
- Red Hat Quay 3.13 registry.redhat.io/quay/quay-builder-rhel8, registry.redhat.io/quay/quay-container-security-operator-rhel8, registry.redhat.io/quay/quay-rhel8
Show 7 more Red Hat advisories
- RHSA-2025:23064 Released 2025-12-10 · Red Hat rating ImportantRed Hat Quay 3.10.17
- Red Hat Quay 3.10 registry.redhat.io/quay/quay-builder-rhel8, registry.redhat.io/quay/quay-operator-rhel8, registry.redhat.io/quay/quay-rhel8
- RHSA-2025:23061 Released 2025-12-10 · Red Hat rating ImportantRed Hat Quay 3.9.17
- Red Hat Quay 3.9 registry.redhat.io/quay/quay-builder-rhel8, registry.redhat.io/quay/quay-container-security-operator-rhel8, registry.redhat.io/quay/quay-operator-rhel8 +1
- RHSA-2025:23060 Released 2025-12-10 · Red Hat rating ImportantRed Hat Quay 3.12
- Red Hat Quay 3.12 registry.redhat.io/quay/quay-builder-rhel8, registry.redhat.io/quay/quay-container-security-operator-rhel8, registry.redhat.io/quay/quay-rhel8
- RHSA-2025:23059 Released 2025-12-10 · Red Hat rating ImportantRed Hat Quay 3.12
- Red Hat Quay 3.12 registry.redhat.io/quay/quay-builder-rhel8, registry.redhat.io/quay/quay-container-security-operator-rhel8, registry.redhat.io/quay/quay-rhel8
- RHSA-2025:23028 Released 2025-12-10 · Red Hat rating ImportantRed Hat Quay 3.12
- Red Hat Quay 3.12 registry.redhat.io/quay/quay-builder-rhel8, registry.redhat.io/quay/quay-container-security-operator-rhel8, registry.redhat.io/quay/quay-rhel8
- RHSA-2025:22287 Released 2025-11-27 · Red Hat rating ImportantRed Hat Quay 3.9
- Red Hat Quay 3.9 registry.redhat.io/quay/quay-operator-rhel8, registry.redhat.io/quay/quay-rhel8
- RHSA-2025:22182 Released 2025-11-26 · Red Hat rating ImportantRed Hat Quay 3.10.16
- Red Hat Quay 3.10 registry.redhat.io/quay/quay-operator-rhel8, registry.redhat.io/quay/quay-rhel8
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Quay 3.10 | Fixed | RHSA-2025:22182, RHSA-2025:23064 |
| Red Hat Quay 3.12 | Fixed | RHSA-2025:23028 |
| Red Hat Quay 3.13 | Fixed | RHSA-2025:23176 |
| Red Hat Quay 3.14 | Fixed | RHSA-2026:4215 |
| Red Hat Quay 3.15 | Fixed | RHSA-2026:1942 |
| Red Hat Quay 3.9 | Fixed | RHSA-2025:22287, RHSA-2025:23061 |
Not affected: 6 products
- Red Hat Quay 3.10
- Red Hat Quay 3.12
- Red Hat Quay 3.13
- Red Hat Quay 3.14
- Red Hat Quay 3.15
- Red Hat Quay 3.9
Timeline
- 2026-10-02 Threatist record created from CVE-2025-59420
- 2026-10-03 Alias added: GHSA-9ggr-2464-2j32
References
More Authlib vulnerabilities
- TI-2026-22305 Authlib JWS JWK Header Injection: Signature Verification Bypass CVSS 3.1CRITICAL 9.1
- TI-2026-79518 Authlib fix bypass lets attackers forge HS256 tokens with PEM keys CVSS 3.1CRITICAL 9.1
- TI-2024-25068 lepture Authlib before 1.3.1 has algorithm confusion with asymmetric public keys. CVSS 3.1HIGH 7.5
- TI-2025-41738 Authlib: 1-click Account Takeover CVSS 3.1HIGH 8.8
- TI-2026-22761 Authlib: Fail-Open Cryptographic Verification in OIDC Hash Binding CVSS 4.0HIGH 8.2
- TI-2026-22754 Authlib Vulnerable to JWE RSA1_5 Bleichenbacher Padding Oracle CVSS 4.0HIGH 8.3
Sources
- CVE-2025-59420 · CVE Program
- CVE-2025-59420 · NVD
- FIRST EPSS
- GHSA-9ggr-2464-2j32 · GitHub Advisory Database · CC BY 4.0
- CVE-2025-59420 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences