Read the docs

Authlib accepts empty HMAC keys, allowing JWT signature forgery

Priority MEDIUM 41CWE-1391Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Security bypass, Information disclosure
Confidentiality · integrity · availability
High · High · None
Fix status
Partial Red Hat: 2 fixed, 7 without a fix

Attack profile from CVSS 3.1 · NVD. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-287 and CWE-326.

Summary

Authlib before 1.9.1 accepts empty key material in OctKey.import_key() and in HMAC signing and verification (CWE-287). If an application's secret lookup returns an empty string or empty bytes, a remote unauthenticated attacker can forge HS256, HS384 or HS512 signed tokens with arbitrary claims that Authlib accepts as authentic. An exploit is linked in the references.

Written with Claude Haiku 5.5 from the sources below · 2026-11-04

Description from the CNA

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00299 22nd percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Partial authlib (authlib): 1.9.1Authlib (PyPI): 1.9.1Red Hat: 2 advisoriesRed Hat: 2 fixed, 7 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
authlibauthlibbefore 1.9.11.9.1Patch availableCNA
—Authlib (PyPI)before 1.9.11.9.1Patch availableGHSA-8m4g-j4wp-wgcg
  • authlib Vendorauthlib Affected before 1.9.1 Fixed in 1.9.1 Patch available CNA
  • Authlib (PyPI) Vendor— Affected before 1.9.1 Fixed in 1.9.1 Patch available GHSA-8m4g-j4wp-wgcg

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:authlib:authlib:*:*:*:*:*:*:*:*before 1.9.1Vulnerableauthlib
  • cpe:2.3:a:authlib:authlib:*:*:*:*:*:*:*:* Versions before 1.9.1 Vulnerable ·authlib

Remediation

Upgrade Authlib to 1.9.1 on PyPI. Red Hat Satellite 6.18 and 6.19 are fixed in RHSA-2026:92667 and RHSA-2026:92666. Red Hat has no fix available for Exploit Intelligence, Lightspeed Core, Migration Toolkit for Applications 8, Ansible Automation Platform 2, OpenShift Virtualization 4 and Quay 3, and no fix is planned for OpenShift Lightspeed.

Written with Claude Haiku 5.5 from the sources below · 2026-11-04

  • Fix · CNA authlib (authlib) Fixed in 1.9.1
  • Fix · GHSA-8m4g-j4wp-wgcg Authlib (PyPI) Fixed in 1.9.1 Advisory →

Red Hat 2 advisories

  • RHSA-2026:92667 Released 2026-10-29 · Red Hat rating Critical
    satellite/foreman-mcp-server-rhel9 container image available as a Technology Preview
    • Red Hat Satellite 6.18 registry.redhat.io/satellite/foreman-mcp-server-rhel9
  • RHSA-2026:92666 Released 2026-10-29 · Red Hat rating Critical
    satellite/foreman-mcp-server-rhel9 container image available as a Technology Preview
    • Red Hat Satellite 6.19 registry.redhat.io/satellite/foreman-mcp-server-rhel9

Vendor assessments

Red Hat

Red Hat rating: Important. Red Hat's page for this CVE →

ProductStatusPlan or fix
Exploit IntelligenceAffectedNo fix yet
Lightspeed CoreAffectedNo fix yet
Migration Toolkit for Applications 8AffectedNo fix yet
OpenShift LightspeedAffectedNo fix planned: Will not fix
Red Hat Ansible Automation Platform 2AffectedNo fix yet
Red Hat OpenShift Virtualization 4AffectedNo fix yet
Red Hat Quay 3AffectedNo fix yet
Red Hat Satellite 6.18Fixed RHSA-2026:92667
Red Hat Satellite 6.19Fixed RHSA-2026:92666
Not affected: 1 product
  • Red Hat Enterprise Linux command line assistant

Timeline

  1. 2026-10-23 Threatist record created from CVE-2026-114616
  2. 2026-10-23 Affected versions changed · Red Hat
  3. 2026-10-23 CVSS score added · Red Hat
  4. 2026-10-23 Priority changed: MEDIUM → LOW
  5. 2026-10-27 Alias added: GHSA-8m4g-j4wp-wgcg
  6. 2026-10-29 CVSS score added · NVD
  7. 2026-10-30 Fix available: Red Hat Satellite 6.18, Red Hat Satellite 6.19 · Red Hat
  8. 2026-10-30 CISA SSVC decision points changed
  9. 2026-10-30 Priority changed: LOW → MEDIUM
  10. 2026-10-31 Fix available: RHSA-2026:92666 · Red Hat
  11. 2026-10-31 Fix available: RHSA-2026:92667 · Red Hat
  12. 2026-11-02 Affected versions changed · Red Hat
  13. 2026-11-04 Affected versions changed · Red Hat

References

  • 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-2025-36973 Authlib: JWS/JWT accepts unknown crit headers (RFC violation → possible authz bypass) CVSS 3.1HIGH 7.5
  • 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
See all 18 →

Sources