Biblioteka cryptiles autorstwa Erana Hammera w wersji 4.1.1 i wcześniejszych zawiera podatność niewystarczającej entropii (CWE-331) w metodzie randomDigits(). Generowane wartości są zbyt przewidywalne, co znacząco ułatwia atakującemu ich odgadnięcie metodą brute force.
▸ Pokaż oryginał (EN)
Eran Hammer cryptiles version 4.1.1 earlier contains a CWE-331: Insufficient Entropy vulnerability in randomDigits() method that can result in An attacker is more likely to be able to brute force something that was supposed to be random.. This attack appear to be exploitable via Depends upon the calling application.. This vulnerability appears to have been fixed in 4.1.2.
Metoda randomDigits() odpowiedzialna za generowanie losowych ciągów cyfr nie dostarcza wystarczającej entropii, przez co produkuje wartości o ograniczonej losowości. Atakujący, który zna lub może przewidzieć rozkład generowanych wartości, może przeprowadzić skuteczny atak brute force na elementy systemu korzystające z tych wartości (np. tokeny, kody jednorazowe, identyfikatory sesji). Podatność jest możliwa do wykorzystania w kontekście zależnym od aplikacji wywołującej bibliotekę.
Atakujący może skutecznie odgadnąć wartości, które powinny być losowe, co w zależności od zastosowania biblioteki może prowadzić do przejęcia sesji, ominięcia mechanizmów uwierzytelnienia lub sfałszowania tokenów.
Należy zaktualizować bibliotekę cryptiles do wersji 4.1.2 lub nowszej, w której podatność została naprawiona zgodnie z informacją producenta.
Cryptiles Project Cryptiles w wersji 4.1.1 i wcześniejszych
Podatność została zgłoszona i naprawiona w ramach repozytoriów GitHub projektu hapijs/cryptiles (issues #34 i #35). Biblioteka cryptiles jest używana w ekosystemie Node.js/hapi.js.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HCryptiles Project Cryptiles
APPCryptiles Project< 3.1.34.1.0 – 4.1.2 (bez)