Airsonic 10.2.1 używa domyślnego mechanizmu remember-me Spring opartego na MD5 ze stałym, zakodowanym na twardo kluczem 'airsonic'. Atakujący, który przechwyci pliki cookie użytkowników, może w prosty sposób przeprowadzić offline brute-force i odzyskać ich hasła.
▸ Pokaż oryginał (EN)
Airsonic 10.2.1 uses Spring's default remember-me mechanism based on MD5, with a fixed key of airsonic in GlobalSecurityConfig.java. An attacker able to capture cookies might be able to trivially bruteforce offline the passwords of associated users.
Aplikacja korzysta ze Spring Security's remember-me opartego na MD5, gdzie klucz podpisujący tokeny cookie jest zawsze taki sam: 'airsonic', zdefiniowany w pliku GlobalSecurityConfig.java. Ponieważ klucz jest znany i niezmienny, przechwycone cookie remember-me można poddać atakowi brute-force offline bez konieczności interakcji z serwerem. Algorytm MD5 jest uznawany za kryptograficznie słaby (CWE-326), co dodatkowo przyspiesza skuteczność takiego ataku.
Atakujący, który przechwycił cookie sesji użytkownika, może odzyskać jego hasło w trybie offline, co prowadzi do pełnego przejęcia konta i uzyskania dostępu do zasobów aplikacji.
Należy zastosować patche dostępne u producenta zgodnie z referencjami — poprawka dostępna jest w commicie 3e07ea52885f88d3fbec444dfd592f27bfb65647 w repozytorium GitHub projektu Airsonic.
Airsonic w wersji 10.2.1
Podatność wymaga uprzedniego przechwycenia cookie, np. poprzez atak man-in-the-middle lub XSS. Stały klucz 'airsonic' jest publicznie znany (zakodowany w kodzie źródłowym), co znacznie obniża próg wejścia dla atakującego.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HAirsonic Project Airsonic
APPAirsonic Project10.2.1