HIGH🇬🇧 English

CVE-2026-45807

Kestra: path traversal przez URL-enkodowane sekwencje w URI (kestra://)

CVSS 7.7v3.1pub. 2026-06-26upd. 2026-07-01

W platformie Kestra wykryto podatność typu path traversal umożliwiającą uwierzytelnionemu użytkownikowi odczyt dowolnych plików dostępnych dla procesu Kestra na hoście. Podatność wynika z nieprawidłowej walidacji URI przyjmowanych przez API, która nie uwzględnia URL-enkodowanych sekwencji katalogów nadrzędnych.

Pokaż oryginał (EN)

Kestra is an open-source, event-driven orchestration platform. Prior to 1.0.43 and 1.3.19, several Kestra API endpoints accept a kestra:// URI from the client and pass it through StorageInterface.parentTraversalGuard before reading the underlying file from the local storage backend. The guard only inspects the literal URI.toString(), so a URL-encoded .. written as %2E%2E slips through. The downstream code then calls URI.getPath(), which decodes %2E%2E back to .., and the resulting path is handed to Paths.get(...) without normalization. The OS resolves the .. segments at open(2) time, so an authenticated user with a single execution can read any file the Kestra process has access to on the host filesystem (/etc/passwd, mounted secrets, other tenants' execution outputs, etc.). This vulnerability is fixed in 1.0.43 and 1.3.19.

🤖 Analiza AI
Jak działa

Kilka endpointów API Kestra akceptuje od klienta URI w schemacie kestra:// i przepuszcza go przez funkcję ochronną StorageInterface.parentTraversalGuard, która sprawdza wyłącznie dosłowną reprezentację tekstową URI (URI.toString()). Sekwencja .. zakodowana jako %2E%2E przechodzi przez tę walidację bez wykrycia. Następnie kod wywołuje URI.getPath(), który dekoduje %2E%2E z powrotem do .., a wynikowa ścieżka trafia do Paths.get() bez normalizacji. System operacyjny rozwiązuje segmenty .. w momencie otwarcia pliku (open(2)), co pozwala atakującemu wydostać się poza dozwolony katalog i odczytać pliki spoza zamierzonego obszaru.

Skutki

Uwierzytelniony użytkownik posiadający uprawnienia do pojedynczego wykonania (execution) może odczytać dowolny plik dostępny dla procesu Kestra na hoście — w tym /etc/passwd, zamontowane sekrety, dane innych tenantów oraz inne wrażliwe pliki systemowe.

Mitygacja

Należy zaktualizować Kestra do wersji 1.0.43 lub 1.3.19 (albo nowszych), w których podatność została naprawiona. Szczegóły dostępne w referencjach producenta pod adresem https://github.com/kestra-io/kestra/security/advisories/GHSA-3529-p4wf-xp79

Kogo dotyczy

Kestra w wersjach wcześniejszych niż 1.0.43 oraz wcześniejszych niż 1.3.19

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
  • Kestra

    APP
    Kestra
    < 1.0.431.1.0 – 1.3.19 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
Path Traversal
CWE
Referencje

Powiązane podatności

CVE-2026-49869CRITICAL10.0PL ✓ten sam produkt

Kestra: Auth Bypass umożliwiający nieuwierzytelniony RCE jako root

CVE-2026-53576CRITICAL10.0PL ✓ten sam produkt

Kestra: Pominięcie uwierzytelnienia REST API prowadzące do RCE jako root

CVE-2026-38428CRITICAL9.8PL ✓ten sam produkt

SQL Injection w Kestra — wstrzykiwanie zapytań przez parametr GET

CVE-2026-34612CRITICAL9.9PL ✓ten sam produkt

SQL Injection prowadzący do RCE w platformie Kestra (endpoint wyszukiwania flows)

CVE-2026-55069HIGH8.7PL ✓ten sam produkt

Kestra: słabe hashowanie haseł (SHA-512) umożliwia privilege escalation