CVE-2026-49984
WysokieCVSS 7.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 29 - wyżej niż 29% wszystkich znanych CVE
Streszczenie
W Kestra przed wersjami 1.0.45 i 1.3.23 lokalny backend przechowywania wewnętrznego nieprawidłowo waliduje ścieżki użytkownika, umożliwiając atakującemu przemycenie sekwencji przejścia do katalogu nadrzędnego za pomocą ukośników odwrotnych (..\..\..\) przed konwersją na ukośniki zwykłe. Uwierzytelniony użytkownik z najniższymi uprawnieniami może odczytać dowolny plik w systemie plików serwera, w tym bazę H2, przechowywane sekrety i dane uwierzytelniające.
Ocena ryzyka
Organizacja narażona jest na całkowite naruszenie izolacji przechowywania i granicy wielodzierżawczości, co może prowadzić do wycieku wszystkich przepływów, użytkowników, sekretów oraz poświadczeń bazy danych i backendu sekretów.
Rekomendacja
Niezwłocznie zaktualizuj Kestrę do wersji 1.0.45 lub 1.3.23, które zawierają poprawkę eliminującą podatność na przejście do katalogu nadrzędnego.
Inne podatności w Kestra
Zobacz wszystkie- CVE-2026-53576Krytyczne
W Kestra przed wersjami 1.0.45 i 1.3.21 filtr uwierzytelniania REST API pomija sprawdzanie poświadczeń dla żądań kończących się na '/configs'. Niezalogowany atakujący może wykorzystać to do tworzenia przepływów z zadaniami Shell lub Process, które wykonują się jako root w kontenerze, a przez zamontowany /var/run/docker.sock uzyskują dostęp do demona Dockera na hoście.
- CVE-2026-49869Krytyczne
W Kestra OSS przed wersjami 1.0.45 i 1.3.21, filtr AuthenticationFilter używa metody endsWith("/configs") do sprawdzenia, czy żądanie dotyczy publicznego endpointu konfiguracji. Ponieważ jest to dopasowanie sufiksu, a nie dokładnej ścieżki, każdy interfejs API, którego ostatni segment to "configs", omija uwierzytelnianie. Niezautoryzowany atakujący może wykorzystać tę lukę do tworzenia i wykonywania dowolnych przepływów pracy bez poświadczeń.
- CVE-2026-38428Krytyczne
Kestra w wersji 1.3.3 i wcześniejszych jest podatna na wstrzykiwanie SQL. Podatność wynika z bezpośredniego konkatenowania danych wejściowych użytkownika z parametru GET do zapytania SQL bez odpowiedniego oczyszczania lub parametryzacji.
- CVE-2026-34612Krytyczne
Kestra przed wersją 1.3.7 zawiera podatność na iniekcję SQL w endpointzie GET /api/v1/main/flows/search, która umożliwia uwierzytelnionemu atakującemu zdalne wykonanie kodu poprzez PostgreSQL COPY ... TO PROGRAM.
- CVE-2026-55839Wysokie
Kestra przed wersją 1.3.24 zawiera podatność na przechowywany XSS w niestandardowym parserze Markdown. Użytkownik z uprawnieniami do tworzenia lub aktualizacji opisu Flow może wstrzyknąć atrybuty obsługi zdarzeń JavaScript przez składnię [[link]], co powoduje wykonanie skryptu, gdy inny użytkownik otworzy opis lub panel informacyjny.
- CVE-2026-73247Wysokie
Kestra przed wersją 2.0.0 przekazuje kontrolowany przez użytkownika argument uri funkcji http() do URI.create() i serwerowego klienta HTTP bez ograniczania miejsc docelowych prywatnych, pętli zwrotnej lub link-local, co pozwala nieuwierzytelnionemu atakującemu zaimportować i wykonać przepływ, który uzyskuje dostęp do wewnętrznych usług lub metadanych chmury.
- CVE-2026-73246Wysokie
Kestra przed wersją 2.0.0-rc6 udostępnia punkt końcowy GET /worker bez uwierzytelnienia i serializuje kompletny obiekt Task, co może ujawnić polecenia, zmienne środowiskowe, nagłówki HTTP, dane połączeń, poświadczenia w postaci jawnego tekstu oraz identyfikatory wykonania, podczas gdy główne API na porcie 8080 pozostaje chronione. Problem został naprawiony w wersji 2.0.0-rc6.
- CVE-2026-73245Średnie
Podatność w Kestra przed wersją 2.0.0-rc6 polega na tym, że endpointy zarządzania Micronaut na porcie 8081 są dostępne bez uwierzytelnienia, nawet gdy Basic Auth chroni /api/v1/** na porcie 8080. Umożliwia to nieuwierzytelniony odczyt zmiennych środowiskowych i zmianę poziomów logowania.
- CVE-2026-55069Wysokie
Podatność w komponencie BasicAuth platformy Kestra OSS przed wersją 1.3.24 umożliwia atakującemu z dostępem do bazy PostgreSQL odzyskanie hasła administratora offline dzięki szybkości obliczeniowej SHA-512. W środowiskach Kubernetes pozwala to na eskalację uprawnień do odczytu tokena ServiceAccount i wszystkich sekretów klastra.
- CVE-2026-53577Średnie
W Kestra przed wersjami 1.0.45 i 1.3.21 endpoint previewFileFromExecution (GET /api/v1/{tenant}/executions/{executionId}/file/preview) zawiera obejście kontroli dostępu, umożliwiając każdemu uwierzytelnionemu użytkownikowi odczyt plików wyjściowych z dowolnego wykonania w obrębie tego samego dzierżawcy, z pominięciem izolacji na poziomie wykonania i przestrzeni nazw.
Oryginalny opis (angielski, źródło NVD)
Kestra is an open-source, event-driven orchestration platform. Prior to 1.0.45 and 1.3.23, the local internal-storage backend validates user-supplied paths for .. traversal before it converts Windows-style backslashes to forward slashes. An attacker can therefore smuggle a traversal sequence past the guard using backslashes (..\..\..\); the guard sees a harmless string, and the path is only rewritten to ../../../ after validation, immediately before the file is opened. Any authenticated user who can view an execution (the lowest-privilege role) can call GET /api/v1/{tenant}/executions/{executionId}/file?path=… and read any file on the server filesystem readable by the Kestra process, outside the storage sandbox and across every tenant and namespace. This includes the embedded H2 database (all flows, all users, all stored secrets), internal storage of every other tenant/namespace, mounted secret files, and the process environment (/proc/self/environ) which contains configured database and secret-backend credentials. It is a complete breach of Kestra's storage isolation and multi-tenancy boundary. This vulnerability is fixed in 1.0.45 and 1.3.23.

