CVE-2026-44699
KrytyczneStreszczenie
LibJWT to biblioteka C do obsługi JSON Web Token. W wersjach od 3.0.0 do 3.3.2, libjwt akceptuje RSA JWK bez parametru alg jako klucz weryfikacyjny dla tokenów HS256/HS384/HS512, co umożliwia atakującemu sfałszowanie ważnego JWT bez znajomości tajnego klucza lub klucza prywatnego RSA.
Ocena ryzyka
Organizacje mogą być narażone na ataki, które pozwalają na obejście uwierzytelniania, co może prowadzić do nieautoryzowanego dostępu do zasobów. W szczególności aplikacje korzystające z JWKS, gdzie alg jest pomijany, są w dużym niebezpieczeństwie.
Rekomendacja
Zaleca się aktualizację biblioteki libjwt do wersji 3.3.3 lub nowszej, aby usunąć tę podatność. Dodatkowo, warto weryfikować, czy klucze RSA zawierają parametr alg przed ich użyciem.
Oryginalny opis (angielski, źródło NVD)
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.

