CVE 9.1 CRITICAL

LibJWT: Algorithm confusion allows JWT forgery with RSA JWK as empty-key HMAC_CVE-2026-44699

9.1 / 10
CRITICAL
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Description

LibJWT is a C JSON Web Token Library. From 3.0.0 to 3.3.2, libjwt accepts an RSA JWK that does not contain an alg parameter as the verification key for an HS256/HS384/HS512 token. In the OpenSSL backend, this causes HMAC verification to run with a zero-length key, so an attacker can forge a valid JWT without knowing any secret or RSA private key. This is an algorithm-confusion authentication bypass. It affects applications that load RSA keys from JWKS where alg is omitted, which is valid JWK syntax and common in real deployments, and then choose the verification algorithm from the JWT header, for example in a kid lookup callback. This vulnerability is fixed in 3.3.3.

AI Analysis

Algorithm confusion allows JWT forgery with RSA JWK as empty-key HMAC

Basic Information

ID CVE-2026-44699
Source GitHub_M
Published May 15, 2026 at 16:08

Affected Product

Vendor benmcollins
Product libjwt
Version >= 3.0.0, < 3.3.3
Affected Versions benmcollins libjwt >= 3.0.0, < 3.3.3

CWE Classification

AI Assessment

AI Score 9.1 / 10
AI Severity Critical
Vendor benmcollins
Product libjwt
Version 3.0.0 to 3.3.2

References

💭 Join the Security Discussion

🔒 Your email address will not be published. Required fields are marked *

⚠️ Please be respectful and constructive in your comments. Security discussions should remain professional.