Błąd w logice uwierzytelniania platformy orkiestracyjnej Kestra pozwala nieuwierzytelnionemu atakującemu ominąć Basic Auth i tworzyć oraz uruchamiać dowolne workflow. Bezpośrednim skutkiem jest unauthenticated Remote Code Execution z uprawnieniami root wewnątrz kontenera Kestra worker.
▸ Pokaż oryginał (EN)
Kestra is an open-source, event-driven orchestration platform. Prior to 1.0.45 and 1.3.21, AuthenticationFilter in Kestra OSS uses request.getPath().endsWith("/configs") to whitelist the public configuration endpoint from Basic Auth. Because the check is a suffix match rather than an exact path match, any API path whose last segment is configs bypasses authentication entirely. An unauthenticated remote attacker can exploit this to create and execute arbitrary workflows without credentials. Because Kestra ships with script execution plugins (plugin-script-shell, plugin-script-python, etc.) enabled by default, this directly results in unauthenticated Remote Code Execution as root inside the Kestra worker container. This vulnerability is fixed in 1.0.45 and 1.3.21.
Filtr uwierzytelniania AuthenticationFilter sprawdza ścieżkę żądania metodą endsWith('/configs'), czyli dopasowaniem sufiksowym, zamiast dokładnym dopasowaniem ścieżki. Oznacza to, że dowolny endpoint API, którego ostatni segment to 'configs', całkowicie omija uwierzytelnienie. Atakujący może więc skierować żądanie do odpowiednio skonstruowanej ścieżki, uzyskując dostęp bez poświadczeń. Ponieważ Kestra domyślnie dostarcza pluginy do wykonywania skryptów (plugin-script-shell, plugin-script-python i inne), możliwe jest natychmiastowe wykonanie dowolnego kodu w kontekście kontenera worker.
Nieuwierzytelniony zdalny atakujący może tworzyć i uruchamiać dowolne workflow, co prowadzi do pełnego RCE z uprawnieniami root wewnątrz kontenera Kestra worker, a w konsekwencji do przejęcia kontroli nad środowiskiem, wycieku danych oraz możliwości lateral movement.
Należy niezwłocznie zaktualizować Kestra OSS do wersji 1.0.45 lub 1.3.21 (w zależności od używanej gałęzi). Do czasu wdrożenia patcha należy rozważyć ograniczenie dostępu sieciowego do instancji Kestra wyłącznie do zaufanych adresów IP oraz wyłączenie pluginów skryptowych, jeśli nie są niezbędne.
Kestra OSS w wersjach wcześniejszych niż 1.0.45 oraz wcześniejszych niż 1.3.21
Podatność posiada wektor CVSS 10.0 (maksymalny) przy braku wymogu uwierzytelnienia, interakcji użytkownika i z pełnym wpływem na poufność, integralność i dostępność w zmienianym zakresie (S:C). CVE nie figuruje w katalogu CISA KEV.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HKestra
APPKestra< 1.0.451.1.0 – 1.3.21 (bez)
Powiązane podatności
Kestra: Pominięcie uwierzytelnienia REST API prowadzące do RCE jako root
SQL Injection w Kestra — wstrzykiwanie zapytań przez parametr GET
SQL Injection prowadzący do RCE w platformie Kestra (endpoint wyszukiwania flows)
Kestra is an open-source, event-driven orchestration platform. Prior to 1.3.24, this vulnerability exists in t...
Kestra is an open-source, event-driven orchestration platform. Prior to 1.0.43 and 1.3.19, several Kestra API ...