CVE-2026-44699: LibJWT: Algorithm confusion allows JWT forgery with RSA JWK as empty-key HMAC
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.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-44699?
The severity of CVE-2026-44699 is critical due to the potential for JWT forgery.
How do I fix CVE-2026-44699?
To fix CVE-2026-44699, upgrade LibJWT to version 3.3.3 or later.
What does CVE-2026-44699 impact?
CVE-2026-44699 impacts LibJWT versions from 3.0.0 to 3.3.2.
What type of vulnerability is CVE-2026-44699?
CVE-2026-44699 is an algorithm confusion vulnerability that allows for token forgery.
Is CVE-2026-44699 related to JWT usage in applications?
Yes, CVE-2026-44699 directly affects the security of applications utilizing JSON Web Tokens with LibJWT.