Podatności compliance-trestle
9 znanych podatności CVE w compliance-trestle, przetłumaczonych i ocenionych.
- CVE-2026-46439Wysokie
compliance-trestle przed wersjami 3.12.2 i 4.0.3 ma podatność Server-Side Template Injection (SSTI) w poleceniu 'trestle author jinja'. Rekurencyjne przetwarzanie szablonów pozwala atakującemu na wykonanie dowolnych poleceń systemowych poprzez wstrzyknięcie złośliwych danych do pól danych.
- CVE-2026-57171Wysokie
Compliance-trestle (Trestle) przed wersją 3.12.4 oraz w wersjach 4.0.0-4.0.3 pozwala na zapis dowolnych plików poza obszarem roboczym Trestle poprzez ścieżkę wyjściową kontrolowaną przez atakującego, bez walidacji przejścia ścieżki. Może to prowadzić do nadpisania plików, a przy użyciu --force-overwrite do usunięcia katalogów i pośredniego wykonania kodu.
- CVE-2026-57170Wysokie
Compliance-trestle (Trestle) przed wersją 3.12.4 oraz w wersjach 4.0.0-4.0.3 zawiera podatność na wstrzyknięcie szablonów po stronie serwera (SSTI) w niestandardowych tagach Jinja2 mdsection_include i md_clean_include, co może prowadzić do wykonania dowolnego kodu. Dane OSCAL kontrolowane przez atakującego mogą zostać wykonane jako kod szablonu.
- CVE-2026-52776Wysokie
Compliance-trestle (Trestle) przed wersją 3.12.4 oraz w wersjach 4.0.0 do 4.0.3 ma podatność na obejście walidatora URLSecurityValidator, który chroni ścieżki zdalnego pobierania przed SSRF. Można ominąć blokadę, aby dotrzeć do adresów loopback, link-local, cloud-metadata i wewnętrznych sieci. Problem został naprawiony w wersjach 3.12.4 i 4.1.0.
- CVE-2026-54757Wysokie
Compliance-trestle (Trestle) to Python SDK i narzędzie wiersza poleceń do zarządzania dokumentami zgodności OSCAL. W wersjach przed 3.12.4 oraz 4.0.0 do 4.0.3 Trestle jest podatny na wstrzyknięcie szablonów po stronie serwera, co może prowadzić do zdalnego wykonania kodu. Dzieje się tak, ponieważ tagi Jinja2 MDCleanInclude i MDSectionInclude ponownie parsują niezaufaną treść Markdown jako kod źródłowy szablonu przy użyciu nieizolowanego środowiska jinja2.Environment. Atakujący, który kontroluje treść renderowaną przez Trestle, taką jak spreparowany plik Markdown w workspace, dokument SSP innej firmy lub wartość tabeli YAML, może wstrzyknąć wyrażenie Jinja2, które przeszukuje wewnętrzne obiekty Pythona w celu wykonania dowolnych poleceń systemu operacyjnego w kontekście procesu Trestle. Problem został naprawiony w wersjach 3.12.4 i 4.1.0.
- CVE-2026-46345Wysokie
compliance-trestle przed wersjami 3.12.2 i 4.0.3 ma podatność w argumencie `-o/--output` w `trestle author jinja`, która pozwala na zapisywanie plików poza zamierzonym workspace. Aplikacja nie waliduje poprawnie `../`, `..\` ani ścieżek bezwzględnych, co umożliwia zapis dowolnych plików w lokalizacjach kontrolowanych przez atakującego. Wersje 3.12.3 i 4.0.3 naprawiają problem.
- CVE-2026-46380Średnie
compliance-trestle przed wersjami 3.12.2 i 4.0.3 zawiera podatność w metodzie HTTPSFetcher._do_fetch(), która przekazuje adres URL dostarczony przez użytkownika bezpośrednio do requests.get() bez walidacji. Umożliwia to atakującemu przeprowadzenie ataku SSRF (Server-Side Request Forgery), celując w wewnętrzne usługi lub endpointy metadanych chmury.
- CVE-2026-45774Średnie
compliance-trestle przed wersjami 3.12.2 i 4.0.3 zawiera podatność w mechanizmie importu profili, która pozwala na odczyt dowolnych plików z systemu plików serwera. Mechanizm łączy URI `trestle://` i względne ścieżki z `trestle_root` bez sprawdzania granic, co umożliwia atakującemu użycie sekwencji przejścia do katalogu nadrzędnego w `imports[].href` w złośliwym pliku OSCAL.
- CVE-2026-45725Wysokie
compliance-trestle przed wersjami 3.12.2 i 4.0.3 ma podatność w mechanizmie zdalnego pobierania plików (HTTPSFetcher i SFTPFetcher), gdzie ścieżka lokalnego pliku cache jest tworzona z komponentu URL bez sanityzacji sekwencji przejścia do katalogu nadrzędnego (../). Gdy zdalny profil OSCAL odwołuje się do URL z taką sekwencją, treść odpowiedzi HTTP jest zapisywana poza zamierzonym katalogiem cache, co umożliwia zapis dowolnych plików z treścią kontrolowaną przez atakującego. Wersje 3.12.3 i 4.0.3 naprawiają ten problem.

