phpList 3.5.0 zawiera podatność umożliwiającą obejście logowania do panelu administratora poprzez atak type juggling na skróty haseł. Błąd ma ocenę CVSS 9.8 (CRITICAL) i jest możliwy do wykorzystania zdalnie bez uwierzytelnienia.
▸ Pokaż oryginał (EN)
phpList 3.5.0 allows type juggling for admin login bypass because == is used instead of === for password hashes, which mishandles hashes that begin with 0e followed by exclusively numerical characters.
Aplikacja porównuje skróty haseł operatorem == zamiast ===, co w PHP prowadzi do podatności zwanej type juggling. Skróty zaczynające się od ciągu '0e' po którym następują wyłącznie cyfry są przez PHP interpretowane jako liczby zmiennoprzecinkowe równe zero (notacja wykładnicza). Atakujący może podać hasło, którego skrót zaczyna się od '0e' i składa się z samych cyfr — PHP uzna go za równy innemu skrótowi o tej samej formie, pomijając faktyczną weryfikację hasła.
Atakujący może uzyskać nieautoryzowany dostęp do panelu administratora phpList bez znajomości prawidłowego hasła, co daje mu pełną kontrolę nad aplikacją i jej danymi.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zalecana jest aktualizacja do wersji nowszej niż 3.5.0. Jako obejście tymczasowe należy ograniczyć dostęp do panelu administracyjnego wyłącznie do zaufanych adresów IP.
phpList w wersji 3.5.0
Publicznie dostępny exploit opublikowany w Exploit-DB (ID 47989). Podatność opiera się na dobrze udokumentowanej właściwości PHP — luźnym porównaniu typów (loose comparison), co czyni ją stosunkowo prostą do odtworzenia.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HPhplist
APPPhplist3.5.0
Powiązane podatności
RCE w phplist 3.5.1 poprzez upload złośliwego pluginu
phpList — pominięcie uwierzytelnienia przez type juggling w porównaniu hashy
CSV Injection w phpList 3.6.0 poprzez parametr email i eksport danych
A vulnerability was found in PHPList 3.2.6 and classified as critical. This issue affects some unknown process...
phpList 3.5.9 allows SQL injection by admins who provide a crafted fourth line of a file to the "Config - Impo...