Wersja 1.05 modułu Mojolicious::Plugin::CaptchaPNG dla Perl używa kryptograficznie słabej funkcji rand() do generowania tekstu i szumu w obrazach CAPTCHA. Oznacza to, że atakujący może przewidzieć generowane wartości CAPTCHA i skutecznie je omijać.
▸ Pokaż oryginał (EN)
Mojolicious::Plugin::CaptchaPNG version 1.05 for Perl uses a weak random number source for generating the captcha. That version uses the built-in rand() function for generating the captcha text as well as image noise, which is insecure.
Plugin generuje tekst CAPTCHA oraz szum obrazu przy użyciu wbudowanej funkcji rand() dostępnej w języku Perl. Funkcja ta nie jest zaprojektowana do celów kryptograficznych i produkuje przewidywalne sekwencje liczb pseudolosowych (CWE-338). W konsekwencji mechanizm weryfikacji CAPTCHA (CWE-804) staje się podatny na automatyczne odgadnięcie lub brute-force, ponieważ przestrzeń możliwych wyników jest praktycznie przewidywalna dla atakującego.
Atakujący może programowo przewidzieć lub efektywnie odgadnąć wartości CAPTCHA, co pozwala na automatyczne omijanie zabezpieczeń przed botami — w tym masowe rejestracje, ataki brute-force na formularze logowania lub spam.
Należy zaktualizować moduł do wersji 1.06 lub nowszej, w której problem został naprawiony zgodnie z informacjami w dzienniku zmian producenta (metacpan.org). Wersja 1.06 zastępuje rand() bezpiecznym kryptograficznie źródłem losowości.
Mojolicious::Plugin::CaptchaPNG w wersji 1.05 dla Perl
Podatność dotyczy wyłącznie wersji 1.05 — poprawka została wydana w wersji 1.06. Referencje producenta wskazują na metacpan.org jako źródło szczegółów dotyczących różnic między wersjami.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N