CVE-2026-52776
WysokieCVSS 8.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 35 - wyżej niż 35% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może wykorzystać tę podatność do kontaktu z wewnętrznymi usługami, takimi jak metadane chmury, co może prowadzić do wycieku wrażliwych informacji lub dalszych ataków.
Rekomendacja
Należy zaktualizować Compliance-trestle do wersji 3.12.4 lub 4.1.0, które zawierają poprawkę.
Inne podatności w Compliance-trestle
Zobacz wszystkie- 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-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 (Trestle) is a tooling platform for managing compliance as code. In versions before 3.12.4 and versions 4.0.0 through 4.0.3, the URLSecurityValidator that guards trestle's remote-fetch paths against server-side request forgery can be bypassed to reach loopback, link-local, cloud-metadata, and internal network endpoints it was designed to block. The blocklist does not canonicalize IPv4-mapped IPv6 literals such as [::ffff:169.254.169.254], which resolve to IPv6Address objects that never match the blocked IPv4 ranges, and it does not block the unspecified address 0.0.0.0, which routes to local services on Linux and inside containers. An attacker who can supply or influence an OSCAL artifact that trestle fetches, such as a malicious profile whose imports reference one of these bypass URLs, can cause the HTTPSFetcher and SFTPFetcher paths to contact cloud instance-metadata services, loopback interfaces, or internal hosts. This issue is fixed in versions 3.12.4 and 4.1.0.

