Description
Authlib is a Python library which builds OAuth and OpenID Connect servers. Prior to 1.9.1, Authlib's OctKey.import_key() and HMAC signing and verification path accept zero-length key material. If an application's secret lookup can return an empty string or empty bytes, a remote attacker can compute the deterministic HS256, HS384, or HS512 signature for arbitrary token claims and have Authlib treat the token as authentic. This issue is fixed in version 1.9.1.
Published: 2026-10-22
Score: 7.4 High
EPSS: < 1% Very Low
KEV: No
Impact: JWS/JWT Signature Forgery
Action: Apply Patch
AI Analysis

Impact

Authlib permitted the use of a zero‑length HMAC key in its OctKey.import_key() routine and during HMAC signing and verification. An attacker who can make the application’s secret lookup return an empty string or empty bytes can deterministically compute HS256, HS384 or HS512 signatures for any desired token claims. This enables the forging of signed JWTs that Authlib will accept as authentic, exposing the system to unauthorized access and privilege escalation. The weakness is documented by CWE-1391, CWE-287, CWE-326 and CWE-347.

Affected Systems

Authlib library, any application using authlib:authlib before version 1.9.1.

Risk and Exploitability

The CVSS score of 7.4 indicates a high severity, and the EPSS score is not available. The vulnerability is not listed in the CISA KEV catalog. An attacker can exploit the flaw remotely, provided they can influence the secret lookup to return an empty key. The attack requires no privilege on the server and can be performed over the network by submitting forged JWTs to any endpoint that parses and verifies tokens using Authlib.

Generated by OpenCVE AI on October 23, 2026 at 13:26 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Authlib to version 1.9.1 or later.
  • Validate that any secret key material passed to OctKey.import_key() and HMAC operations is non‑empty and meets minimum length requirements.
  • If a rapid upgrade is not possible, insert a guard that rejects zero‑length keys at runtime before token verification.

Generated by OpenCVE AI on October 23, 2026 at 13:26 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-8m4g-j4wp-wgcg Authlib accepts an empty HMAC key, allowing JWS/JWT signature forgery (HS256/HS384/HS512)
History

Tue, 10 Nov 2026 21:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Thu, 29 Oct 2026 15:00:00 +0000

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

Fri, 23 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-347
References
Metrics threat_severity

None

threat_severity

Important


Fri, 23 Oct 2026 03:45:00 +0000

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

Fri, 23 Oct 2026 00:45:00 +0000

Type Values Removed Values Added
Description Authlib is a Python library which builds OAuth and OpenID Connect servers. Prior to 1.9.1, Authlib's OctKey.import_key() and HMAC signing and verification path accept zero-length key material. If an application's secret lookup can return an empty string or empty bytes, a remote attacker can compute the deterministic HS256, HS384, or HS512 signature for arbitrary token claims and have Authlib treat the token as authentic. This issue is fixed in version 1.9.1.
Title Authlib accepts an empty HMAC key, allowing JWS/JWT signature forgery (HS256/HS384/HS512)
Weaknesses CWE-1391
CWE-287
CWE-326
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-30T20:07:37.170Z

Reserved: 2026-10-21T20:34:25.600Z

Link: CVE-2026-114616

cve-icon Vulnrichment

Updated: 2026-10-30T20:07:29.306Z

cve-icon NVD

Status : Analyzed

Published: 2026-10-22T22:18:04.420

Modified: 2026-10-30T20:17:00.643

Link: CVE-2026-114616

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-22T21:14:03Z

Links: CVE-2026-114616 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T13:30:07Z

Weaknesses
  • CWE-1391

    Use of Weak Credentials

  • CWE-287

    Improper Authentication

  • CWE-326

    Inadequate Encryption Strength

  • CWE-347

    Improper Verification of Cryptographic Signature