CVE-2026-44699
CriticalSummary
LibJWT is a C library for handling JSON Web Tokens. From versions 3.0.0 to 3.3.2, libjwt accepts an RSA JWK without the alg parameter as the verification key for HS256/HS384/HS512 tokens, allowing an attacker to forge a valid JWT without knowing any secret or RSA private key.
Risk Assessment
Organizations may be exposed to attacks that allow authentication bypass, potentially leading to unauthorized access to resources. Applications using JWKS where alg is omitted are particularly at risk.
Recommendation
It is recommended to update the libjwt library to version 3.3.3 or later to mitigate this vulnerability. Additionally, it is advisable to verify that RSA keys contain the alg parameter before use.
Original NVD description (English source)
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.

