CVE-2026-114616 json
Authlib accepts an empty HMAC key, allowing JWS/JWT signature forgery (HS256/HS384/HS512)
published 2026-10-22 17 d ago modified 2026-10-30 9 d ago also GHSA-8m4g-j4wp-wgcg , PYSEC-2026-4356 , EUVD-2026-108517
- cvss
- 7.4
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 22%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- pypi authlib 1.9.1
- authlib authlib 1.9.1
- python-authlib Debian 14 1.9.1-1
debian advisories DEBIAN-CVE-2026-114616
- python-Authlib openSUSE Tumbleweed 1.9.1-1.1
opensuse advisories openSUSE-SU-2026:12390-1
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-114616 updated cvss 7.4
authlib: authlib: Authentication bypass via zero-length HMAC key
-
Red Hat Exploit Intelligence exploit-intelligence/vulnerability-analysis-rhel9 Red Hat Lightspeed Core lightspeed-core/lightspeed-stack-rhel9 Red Hat Migration Toolkit for Applications 8 mta/mta-solution-server-rhel9affected: workaround, no fix available
-
Red Hat OpenShift Lightspeed openshift-lightspeed/lightspeed-agentic-sandbox-rhel9affected: workaround, no fix planned “Will not fix”
-
Red Hat Ansible Automation Platform 2 ansible-automation-platform-26/lightspeed-chatbot-rhel9, ansible-automation-platform-27/lightspeed-chatbot-rhel9 Red Hat OpenShift Virtualization 4 container-native-virtualization/ocp-virt-validation-checkup-rhel9 Red Hat Quay 3 quay/quay-rhel8, quay/quay-rhel9affected: workaround, no fix available
-
Red Hat Satellite 6.18 satellite/foreman-mcp-server-rhel9 1793272276fixed: vendor fix RHSA-2026:92667
-
Red Hat Satellite 6.19 satellite/foreman-mcp-server-rhel9 1793272279fixed: vendor fix RHSA-2026:92666
-
Red Hat Enterprise Linux command line assistant rhel-cla/rhel-knowledge-bridge-rhel10not affected: vulnerable code not in execute path
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 9 d ago
Exploit prediction
0.30% chance of exploitation in the next 30 days, higher than 22% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/authlib/authlib/security/advisories/GHSA-8m4g-j4wp-wgcg referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.4 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N |
| NVD | 3.1 | 9.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N |
| OSV | 3.1 | 9.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N |
| GitHub | 3.1 | 7.4 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | authlib | <1.9.1 |
1.9.1 |
Affected products
- authlib authlib
Classification
References
-
github.com
/authlib/authlib/commit/4ff30db442c70e29486e1982cb0ad37c037f5f4b
web, patch
-
github.com
/authlib/authlib/security/advisories/GHSA-8m4g-j4wp-wgcg
web, exploit, mitigation, vendor-advisory, evidence
-
github.com
/authlib/authlib/releases/tag/v1.9.1
web, release-notes, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-114616
advisory
-
github.com
/authlib/authlib
package
Sources
- CVE List CVE-2026-114616
- GitHub Advisory GHSA-8m4g-j4wp-wgcg
- NVD CVE-2026-114616
- OSV PYSEC-2026-4356
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.