Podatność w narzędziu Cleanuparr pozwala nieuwierzytelnionemu atakującemu zdalnie ominąć mechanizm uwierzytelnienia oparty na zaufanej sieci i uzyskać dostęp administracyjny. Wynika to z błędnego parsowania nagłówka X-Forwarded-For, który może być w pełni kontrolowany przez atakującego.
▸ Pokaż oryginał (EN)
Cleanuparr is a tool for automating the cleanup of unwanted or blocked files in Sonarr, Radarr, and supported download clients like qBittorrent. Prior to 2.9.10, TrustedNetworkAuthenticationHandler.ResolveClientIp parses the leftmost entry of the X-Forwarded-For header as the client IP. That entry is attacker-controlled — X-Forwarded-For is append-only, so the leftmost value is whatever the original HTTP client claimed. By sending a spoofed local IP in the header, an unauthenticated remote attacker passes the trusted-network check and is logged in as the Cleanuparr administrator. This vulnerability is fixed in 2.9.10.
Komponent TrustedNetworkAuthenticationHandler.ResolveClientIp odczytuje adres IP klienta z lewego (pierwszego) wpisu nagłówka X-Forwarded-For. Nagłówek ten jest jednak dołączany w sposób append-only, co oznacza, że pierwsza wartość pochodzi bezpośrednio od pierwotnego klienta HTTP i jest przez niego w pełni kontrolowana. Atakujący wysyła żądanie HTTP z podrobioną, lokalną wartością IP w nagłówku X-Forwarded-For, przez co serwer błędnie uznaje połączenie za pochodzące z zaufanej sieci. W efekcie atakujący jest traktowany jako uwierzytelniony administrator Cleanuparr bez podania jakichkolwiek poświadczeń.
Nieuwierzytelniony zdalny atakujący uzyskuje pełny dostęp administracyjny do aplikacji Cleanuparr, co umożliwia mu przejęcie kontroli nad konfiguracją oraz operacjami zarządzanymi przez narzędzie, w tym Sonarr, Radarr i podłączonymi klientami pobierania.
Należy zaktualizować Cleanuparr do wersji 2.9.10 lub nowszej, w której podatność została naprawiona. Jako obejście tymczasowe zaleca się ograniczenie dostępu sieciowego do instancji Cleanuparr wyłącznie do zaufanych hostów na poziomie firewalla.
Cleanuparr w wersjach wcześniejszych niż 2.9.10
Podatność sklasyfikowana jako CWE-290 (Authentication Bypass by Spoofing) oraz CWE-348 (Use of Less Trusted Source). Szczegółowe informacje dostępne w oficjalnym security advisory na GitHub.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H