CVE-2026-46439
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 16 - wyżej niż 16% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może wykonać dowolne polecenia z uprawnieniami procesu, co może prowadzić do pełnej kompromitacji systemu.
Rekomendacja
Zaleca się aktualizację do wersji 3.12.3 lub 4.0.3, które zawierają poprawkę.
Inne podatności w compliance-trestle
Zobacz wszystkie- 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.
Oryginalny opis (angielski, źródło NVD)
compliance-trestle is a tooling platform for managing compliance as code. Versions prior to 3.12.2 and 4.0.3 have a Server-Side Template Injection (SSTI) vulnerability exists in the `trestle author jinja` command. The command recursively evaluates rendered templates, allowing an attacker to achieve arbitrary command execution with privileges of the running process by injecting malicious payloads into data fields (such as SSP documents or Lookup Tables). The vulnerability does not require attacker control of the template itself. Only attacker-controlled input data rendered into a trusted template is required. This distinction is critical: the template author may only intend to render plain text (e.g., `Title: {{ ssp.metadata.title }}`), but because of the recursive parsing, the data field itself becomes executable. The vulnerability is caused by recursive re-compilation and re-rendering of already-rendered output. Versions 3.12.3 and 4.0.3 patch the issue.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

