W platformie Appsmith (przed wersją 2.1) wbudowany reverse proxy Caddy udostępnia niezabezpieczone API administracyjne na porcie 2019, dostępne z poziomu procesu serwera Appsmith. Uwierzytelniony użytkownik z niskimi uprawnieniami może wykorzystać podatność SSRF do przejęcia pełnej kontroli nad konfiguracją działającego serwera proxy.
▸ Pokaż oryginał (EN)
Appsmith is a platform to build admin panels, internal tools, and dashboards. Prior to 2.1, the bundled Caddy reverse-proxy's admin API — which has no authentication by default — is bound on 0.0.0.0:2019 inside the container. While this listener is not directly published to the host by docker-compose.yml, it is reachable from the Appsmith server process itself or a SSRF vulnerability. An authenticated low-privileged user can therefore drive the SSRF to issue POST /load (or any other admin-API call) against http://0.0.0.0:2019/, fully replacing the live Caddy configuration and taking over the reverse proxy. This vulnerability is fixed in 2.1.
API administracyjne Caddy (domyślnie bez uwierzytelniania) nasłuchuje na adresie 0.0.0.0:2019 wewnątrz kontenera Docker. Chociaż port ten nie jest bezpośrednio publikowany na hoście przez docker-compose.yml, jest osiągalny z poziomu procesu serwera Appsmith. Atakujący z niskimi uprawnieniami może za pomocą podatności SSRF wysłać żądanie POST do endpointu /load (lub dowolnego innego wywołania admin API) pod adres http://0.0.0.0:2019/, co pozwala na całkowite zastąpienie aktywnej konfiguracji Caddy.
Atakujący może w pełni zastąpić konfigurację działającego reverse proxy Caddy, co prowadzi do przejęcia kontroli nad ruchem sieciowym aplikacji, potencjalnego ujawnienia danych (C:H), modyfikacji lub zniszczenia zasobów (I:H) oraz zakłócenia dostępności usługi (A:H) — z efektem wykraczającym poza granice kontenera (Scope: Changed).
Należy zaktualizować Appsmith do wersji 2.1 lub nowszej, w której podatność została naprawiona. Do czasu aktualizacji zaleca się ograniczenie dostępu sieciowego do portu 2019 wewnątrz kontenera oraz weryfikację konfiguracji docker-compose pod kątem izolacji sieciowej.
Appsmith w wersjach wcześniejszych niż 2.1, uruchamiany w środowisku kontenerowym (Docker).
Podatność wymaga posiadania przez atakującego konta w aplikacji Appsmith (PR:L), jednak nie wymaga interakcji użytkownika ani szczególnych warunków (AC:L, UI:N). Wektor CVSS wskazuje na zmianę zakresu oddziaływania (S:C), co oznacza możliwość wpływu na zasoby poza bezpośrednim kontekstem kontenera.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HAppsmith
APPAppsmith< 2.1
Powiązane podatności
Stored XSS w Appsmith Table Widget prowadzący do przejęcia konta admina
Appsmith: nieuwierzytelniony dostęp do akcji trybu edycji (brak autoryzacji)
Appsmith: przejęcie konta przez manipulację nagłówkiem Origin w linkach e-mail
Appsmith: RCE przez błędnie skonfigurowany PostgreSQL w kontenerze Docker
Appsmith is a platform to build admin panels, internal tools, and dashboards. Prior to 2.1, Appsmith's bundled...