CVE-2026-27962
CVE-2026-27962 · Authlib JWS JWK Header Injection: Signature Verification Bypass
This page contains facts from public vulnerability sources. Check the original advisory before updating.
Authlib is a Python library which builds OAuth and OpenID Connect servers. Prior to version 1.6.9, a JWK Header Injection vulnerability in authlib's JWS implementation allows an unauthenticated attacker to forge arbitrary JWT tokens that pass signature verification. When key=None is passed to any JWS deserialization function, the library extracts and uses the cryptographic key embedded in the attacker-controlled JWT jwk header field. An attacker can sign a token with their own private key, embed the matching public key in the header, and have the server accept the forged token as cryptographically valid — bypassing authentication and authorization entirely. This issue has been patched in version 1.6.9.
CVSS 9.1 · Critical · EPSS 0.5% · Fix available
- Published
- Updated
Affected products and versions
authlib
- Versions
- < 1.6.9: Affected
No fix published
python-authlib Debian:12
- Versions
- 1.2.0-1
- 1.2.0-1+deb12u1
- Affected ranges
- ECOSYSTEM: < 1.2.0-1+deb12u2
Update to 1.2.0-1+deb12u2
python-authlib Debian:13
- Versions
- 1.6.0-1
- 1.6.0-1+deb13u1
- 1.6.1-1
- 1.6.3-1
- 1.6.4-1
- 1.6.5-1
- 1.6.6-1
- 1.6.7-1
- 1.6.8-1
- 1.6.9-1
- 1.7.0-1
- 1.7.2-1
- 1.7.2-2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
python-authlib Debian:14
- Versions
- 1.6.0-1
- 1.6.1-1
- 1.6.3-1
- 1.6.4-1
- 1.6.5-1
- 1.6.6-1
- 1.6.7-1
- 1.6.8-1
- Affected ranges
- ECOSYSTEM: < 1.6.9-1
Update to 1.6.9-1
authlib PyPI
- Versions
- 0.1
- 0.10
- 0.11
- 0.12
- 0.12.1
- 0.13
- 0.14
- 0.14.1
- 0.14.2
- 0.14.3
- 0.15
- 0.15.1
- 0.15.2
- 0.15.3
- 0.15.4
- 0.15.5
- 0.15.6
- 0.1rc0
- 0.2
- 0.2.1
- 0.3
- 0.4
- 0.4.1
- 0.5
- 0.5.1
- 0.6
- 0.7
- 0.8
- 0.9
- 1.0.0
- 1.0.0a1
- 1.0.0a2
- 1.0.0b1
- 1.0.0b2
- 1.0.0rc1
- 1.0.1
- 1.1.0
- 1.2.0
- 1.2.1
- 1.3.0
- 1.3.1
- 1.3.2
- 1.4.0
- 1.4.1
- 1.5.0
- 1.5.1
- 1.5.2
- 1.6.0
- 1.6.1
- 1.6.2
- 1.6.3
- 1.6.4
- 1.6.5
- 1.6.6
- 1.6.7
- 1.6.8
- Affected ranges
- ECOSYSTEM: < 1.6.9
Update to 1.6.9
python-authlib Ubuntu:Pro:22.04:LTS
- Versions
- 0.15.4-1
- 0.15.5-1
- 0.15.5-1ubuntu0.1~esm1
- Affected ranges
- ECOSYSTEM: < 0.15.5-1ubuntu0.1~esm2
Update to 0.15.5-1ubuntu0.1~esm2
python-authlib Ubuntu:Pro:24.04:LTS
- Versions
- 1.2.1-1
- 1.3.0-1
- 1.3.0-1ubuntu0.1~esm1
- Affected ranges
- ECOSYSTEM: < 1.3.0-1ubuntu0.1~esm2
Update to 1.3.0-1ubuntu0.1~esm2
python-authlib Ubuntu:25.10
- Versions
- 1.5.1-1
- 1.5.2-1
- 1.6.0-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
python-authlib Ubuntu:26.10
- Versions
- 1.6.7-1
- 1.7.2-1
- 1.7.2-2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
python-authlib Ubuntu:Pro:26.04:LTS
- Versions
- 1.6.0-1
- 1.6.5-1
- 1.6.6-1
- 1.6.7-1
- Affected ranges
- ECOSYSTEM: < 1.6.7-1ubuntu0.1~esm1
Update to 1.6.7-1ubuntu0.1~esm1
Original sources
- https://github.com/authlib/authlib/security/advisories/GHSA-wvwj-cvrp-7pv5
- https://github.com/authlib/authlib/commit/a5d4b2d4c9e46bfa11c82f85fdc2bcc0b50ae681
- https://github.com/authlib/authlib/releases/tag/v1.6.9
- https://access.redhat.com/security/cve/CVE-2026-27962
- https://bugzilla.redhat.com/show_bug.cgi?id=2448164
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-27962.json
- https://access.redhat.com/errata/RHSA-2026:5665
- https://access.redhat.com/errata/RHSA-2026:7314
- https://access.redhat.com/errata/RHSA-2026:24853
- https://access.redhat.com/errata/RHSA-2026:19375
- https://access.redhat.com/errata/RHSA-2026:48085
- https://nvd.nist.gov/vuln/detail/CVE-2026-27962