---
id: CVE-2026-114616
title: >-
  Authlib accepts an empty HMAC key, allowing JWS/JWT signature forgery
  (HS256/HS384/HS512)
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…
severity: high
cvss: 7.4
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N'
cvssSource: cna
cwe:
  - CWE-287
  - CWE-326
  - CWE-1391
vendor: authlib
product: authlib
affected:
  - authlib < 1.9.1
published: '2026-10-22'
updated: '2026-10-22'
sourceUpdated: '2026-10-22T21:14:03.060Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-114616'
references:
  - url: 'https://github.com/authlib/authlib/security/advisories/GHSA-8m4g-j4wp-wgcg'
    label: 'https://github.com/authlib/authlib/security/advisories/GHSA-8m4g-j4wp-wgcg'
  - url: >-
      https://github.com/authlib/authlib/commit/4ff30db442c70e29486e1982cb0ad37c037f5f4b
    label: >-
      https://github.com/authlib/authlib/commit/4ff30db442c70e29486e1982cb0ad37c037f5f4b
  - url: 'https://github.com/authlib/authlib/releases/tag/v1.9.1'
    label: 'https://github.com/authlib/authlib/releases/tag/v1.9.1'
tags:
  - cve.org
ingestedAt: '2026-10-22T22:00:50.442Z'
---

## Overview

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.

## Affected

- `authlib < 1.9.1`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
