CitrusDB 0.3.6 i wcześniejsze wersje generują łatwo przewidywalne hashe MD5 dla cookie uwierzytelniającego, co umożliwia zdalnym atakującym ominięcie mechanizmu logowania. Podatność jest krytyczna, ponieważ nie wymaga żadnych uprawnień ani interakcji użytkownika, a jej wykorzystanie jest trywialne.
▸ Pokaż oryginał (EN)
CitrusDB 0.3.6 and earlier generates easily predictable MD5 hashes of the user name for the id_hash cookie, which allows remote attackers to bypass authentication and gain privileges by calculating the MD5 checksum of the user name combined with the "boogaadeeboo" string, which is hard-coded in the $hidden_hash variable.
Aplikacja generuje wartość cookie 'id_hash' jako hash MD5 obliczony z nazwy użytkownika połączonej ze stałym ciągiem 'boogaadeeboo', który jest zakodowany na stałe w zmiennej '$hidden_hash'. Atakujący znający nazwę użytkownika (np. 'admin') może samodzielnie obliczyć poprawną wartość hash MD5 i umieścić ją w cookie, podszywając się pod dowolnego użytkownika. Mechanizm ten oparty jest na słabym schemacie uwierzytelnienia (CWE-916 — użycie niewystarczająco silnego mechanizmu haszowania hasła), gdzie sekret jest faktycznie publiczny po ujawnieniu kodu źródłowego.
Atakujący może zdalnie ominąć uwierzytelnienie i uzyskać nieuprawniony dostęp do konta dowolnego użytkownika, w tym konta administratora, co prowadzi do pełnego przejęcia kontroli nad aplikacją oraz możliwości ujawnienia, modyfikacji lub usunięcia danych.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Jako obejście tymczasowe zaleca się wyłączenie dostępu do aplikacji lub ograniczenie go wyłącznie do zaufanych adresów IP na poziomie firewall do czasu wdrożenia poprawki.
CitrusDB w wersji 0.3.6 oraz wszystkich wcześniejszych wersjach.
Podatność została ujawniona publicznie na liście Full-Disclosure w lutym 2005 r. Szczegółowe advisory opublikowała firma RedTeam Pentesting (rt-sa-2005-002). Stały ciąg 'boogaadeeboo' zakodowany w kodzie źródłowym sprawia, że exploit jest trywialny do odtworzenia przez każdego znającego nazwę użytkownika.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HCitrusdb
APPCitrusdb≤ 0.3.6
Powiązane podatności
Directory traversal vulnerability in index.php for CitrusDB 0.3.6 and earlier allows remote attackers and loca...
CitrusDB 0.3.6 and earlier does not verify authorization for the (1) importcc.php and (2) uploadcc.php, which ...
SQL injection vulnerability in importcc.php for CitrusDB 0.3.6 and earlier allows remote attackers to inject d...
CitrusDB 0.3.5 and earlier stores the newfile.txt temporary data file under the web root, which allows remote ...