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