Web2Py w wersjach przed 2.14.6 nie sprawdza poprawnie, czy dany host jest zablokowany, zanim przystąpi do weryfikacji hasła. Umożliwia to zdalnemu atakującemu przeprowadzenie ataku brute-force na dane uwierzytelniające bez żadnych ograniczeń.
▸ Pokaż oryginał (EN)
web2py before 2.14.6 does not properly check if a host is denied before verifying passwords, allowing a remote attacker to perform brute-force attacks.
Mechanizm ochrony przed atakami brute-force w Web2Py powinien blokować dalsze próby logowania z hostów, które przekroczyły dozwoloną liczbę nieudanych prób uwierzytelnienia. Błąd polega na tym, że weryfikacja blokady hosta jest przeprowadzana w nieprawidłowej kolejności — po sprawdzeniu hasła, a nie przed nim. W efekcie mechanizm blokady nie jest skutecznie egzekwowany, a atakujący może nieograniczenie próbować kolejnych haseł.
Atakujący zdalnie i bez uwierzytelnienia może przeprowadzić nieograniczony atak brute-force na konta użytkowników, co w konsekwencji może prowadzić do przejęcia kont i pełnego dostępu do aplikacji oraz danych.
Należy zaktualizować Web2Py do wersji 2.14.6 lub nowszej, w której błąd został naprawiony. Jako dodatkowe środki zaradcze zaleca się wdrożenie zewnętrznych mechanizmów ograniczania liczby prób logowania (np. na poziomie firewall lub reverse proxy) oraz monitorowanie logów pod kątem podejrzanej aktywności.
Web2Py w wersjach przed 2.14.6
Poprawka została wprowadzona w commicie 944d8bd8f3c5cf8ae296fc03d149056c65358426 w repozytorium GitHub web2py. Podatność dotyczy również pakietów dostępnych w repozytoriach Ubuntu (USN-4030-1).
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HWeb2py
APPWeb2Py≤ 2.14.5
Powiązane podatności
OS command injection w Web2Py przez notifySendHandler
Web2Py: deserializacja sesji przez pickle umożliwia RCE
Web2Py: RCE przez hardkodowany klucz szyfrowania w aplikacji przykładowej
web2py before 2.14.1, when using the standalone version, allows remote attackers to obtain environment variabl...
Web2py versions 2.14.5 and below was affected by Local File Inclusion vulnerability, which allows a malicious ...