Description
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.
Published: 2026-03-16
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Authentication Bypass
Action: Immediate Patch
AI Analysis

Impact

Authlib's JWS implementation has a JWK Header Injection flaw that lets an unauthenticated attacker forge JWT tokens. By passing key=None to a JWS deserialization function, the library extracts the cryptographic key from an attacker‑controlled jwk header. The attacker signs the token with their private key, embeds the matching public key in the header, and the library accepts the forged token as valid, bypassing authentication and authorization. The flaw corresponds to CWE‑347 and can result in full unauthorized access to protected resources.

Affected Systems

Authlib, the Python OAuth/OpenID Connect library, is affected in all versions before 1.6.9. The known affected CPE is cpe:2.3:a:authlib:authlib:*:*:*:*:*:*:*:*. Updating to version 1.6.9 or later removes the vulnerability.

Risk and Exploitability

The CVSS score is 9.1, indicating high severity. EPSS is less than 1%, suggesting a low current exploitation probability, and the vulnerability is not listed in CISA's KEV catalog. The likely attack vector is that any application using Authlib to process user‑supplied JWTs could be tricked into accepting a forged token. Exploitation requires only the ability to supply a token, and the consequence is a complete authentication bypass, making it a critical risk for affected systems.

Generated by OpenCVE AI on March 17, 2026 at 22:22 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply Authlib version 1.6.9 or later to eliminate the JWK header injection issue.

Generated by OpenCVE AI on March 17, 2026 at 22:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-wvwj-cvrp-7pv5 Authlib JWS JWK Header Injection: Signature Verification Bypass
History

Tue, 17 Mar 2026 21:00:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:authlib:authlib:*:*:*:*:*:*:*:*

Tue, 17 Mar 2026 13:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Tue, 17 Mar 2026 10:00:00 +0000

Type Values Removed Values Added
First Time appeared Authlib
Authlib authlib
Vendors & Products Authlib
Authlib authlib

Tue, 17 Mar 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Important


Mon, 16 Mar 2026 20:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 16 Mar 2026 17:45:00 +0000

Type Values Removed Values Added
Description 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.
Title Authlib JWS JWK Header Injection: Signature Verification Bypass
Weaknesses CWE-347
References
Metrics cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-03-18T03:55:29.679Z

Reserved: 2026-02-25T03:24:57.792Z

Link: CVE-2026-27962

cve-icon Vulnrichment

Updated: 2026-03-16T19:11:55.751Z

cve-icon NVD

Status : Analyzed

Published: 2026-03-16T18:16:07.383

Modified: 2026-03-17T20:46:48.053

Link: CVE-2026-27962

cve-icon Redhat

Severity : Important

Publid Date: 2026-03-16T17:34:38Z

Links: CVE-2026-27962 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-03-24T10:50:06Z

Weaknesses