Biblioteka fast-jwt w wersji 6.1.0 i wcześniejszych zawiera błąd w wyrażeniu regularnym weryfikującym klucze publiczne PEM, który pozwala na ponowne przeprowadzenie ataku JWT algorithm confusion. Podatność skutecznie unieważnia poprawkę wprowadzoną w CVE-2023-48223, co czyni ją krytyczną dla aplikacji opartych na tej bibliotece.
▸ Pokaż oryginał (EN)
fast-jwt provides fast JSON Web Token (JWT) implementation. In 6.1.0 and earlier, the publicKeyPemMatcher regex in fast-jwt/src/crypto.js uses a ^ anchor that is defeated by any leading whitespace in the key string, re-enabling the exact same JWT algorithm confusion attack that CVE-2023-48223 patched.
Wyrażenie regularne `publicKeyPemMatcher` w pliku `fast-jwt/src/crypto.js` używa kotwicy `^`, która przestaje działać poprawnie, gdy ciąg znaków klucza publicznego poprzedzony jest białymi znakami (np. spacją lub znakiem nowej linii). Atakujący może dostarczyć klucz publiczny z poprzedzającymi białymi znakami, co powoduje, że regex nie rozpoznaje go jako klucza PEM. W efekcie biblioteka błędnie interpretuje algorytm podpisu tokenu JWT, umożliwiając atak algorithm confusion — czyli podstawienie klucza publicznego jako symetrycznego sekretu HMAC w celu sfałszowania podpisu tokenu.
Atakujący może sfałszować token JWT bez znajomości klucza prywatnego serwera, uzyskując nieautoryzowany dostęp do zasobów chronionych uwierzytelnianiem oraz potencjalnie modyfikując treść tokenu (np. uprawnienia lub tożsamość użytkownika).
Należy zastosować patche dostępne u producenta zgodnie z referencjami (advisory GHSA-mvf2-f6gm-w987 na GitHub). Zaleca się aktualizację biblioteki fast-jwt do wersji wyższej niż 6.1.0, gdy tylko zostanie udostępniona przez producenta.
Nearform fast-jwt w wersji 6.1.0 i wcześniejszych
Podatność jest bezpośrednim obejściem (bypass) poprawki wprowadzonej dla CVE-2023-48223, dotyczącej tego samego mechanizmu ataku JWT algorithm confusion w bibliotece fast-jwt.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NNearform Fast Jwt
APPNearform< 6.2.0
Powiązane podatności
Kolizja cache w fast-jwt prowadząca do błędnej identyfikacji użytkowników
fast-jwt provides fast JSON Web Token (JWT) implementation. In 6.1.0 and earlier, fast-jwt does not validate t...
fast-jwt provides fast JSON Web Token (JWT) implementation. Prior to 6.2.1, using certain modifiers on RegExp ...
fast-jwt provides fast JSON Web Token (JWT) implementation. From 5.0.0 to 6.2.0, a denial-of-service condition...
fast-jwt provides fast JSON Web Token (JWT) implementation. Prior to version 3.3.2, the fast-jwt library does ...