changedetection.io zawiera podatność Server Side Template Injection (SSTI) w silniku szablonów Jinja2, pozwalającą na zdalne wykonanie dowolnych poleceń systemowych na serwerze (RCE). Podatność otrzymała maksymalny wynik CVSS 10.0, co oznacza możliwość całkowitego przejęcia kontroli nad serwerem.
▸ Pokaż oryginał (EN)
changedetection.io is an open source web page change detection, website watcher, restock monitor and notification service. There is a Server Side Template Injection (SSTI) in Jinja2 that allows Remote Command Execution on the server host. Attackers can run any system command without any restriction and they could use a reverse shell. The impact is critical as the attacker can completely takeover the server machine. This can be reduced if changedetection is behind a login page, but this isn't required by the application (not by default and not enforced).
Atakujący może wstrzyknąć złośliwy payload do szablonu Jinja2 przetwarzanego po stronie serwera. Silnik szablonów wykonuje wstrzyknięty kod w kontekście serwera bez żadnych ograniczeń, co umożliwia uruchamianie dowolnych poleceń systemowych. Atakujący może w ten sposób ustanowić odwrócone połączenie (reverse shell), uzyskując interaktywny dostęp do maszyny serwera. Aplikacja domyślnie nie wymaga uwierzytelnienia, przez co podatność jest dostępna dla każdego bez wcześniejszego logowania.
Atakujący może wykonać dowolne polecenia systemowe na serwerze bez żadnych ograniczeń i całkowicie przejąć kontrolę nad maszyną hostującą aplikację. Możliwe jest również nawiązanie reverse shell, co zapewnia trwały, interaktywny dostęp do środowiska serwerowego.
Należy zaktualizować changedetection.io do wersji 0.45.21 lub nowszej. Dodatkowo, jako środek łagodzący ryzyko, zaleca się zabezpieczenie dostępu do aplikacji poprzez wymuszenie uwierzytelnienia (login page), co ogranicza dostęp do podatnej funkcjonalności — jednak producent nie egzekwuje tego domyślnie.
changedetection.io — wersje przed 0.45.21 (patch dostępny w wersji 0.45.21 zgodnie z referencjami producenta)
Szczegółowa analiza techniczna podatności została opublikowana przez badaczy z HACKtiveSecurity pod adresem blog.hacktivesecurity.com (2024-05-08). Brak wymogu uwierzytelnienia w domyślnej konfiguracji aplikacji znacząco zwiększa realną powierzchnię ataku.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H