CVE-2026-76825
WysokieCVSS 8.4Streszczenie
RestrictedPython przed wersją 8.4 pozwala na ucieczkę z piaskownicy, gdy niestandardowa polityka importu lub zmienne globalne udostępniają kodowi ograniczonemu moduł string, klasę string.Formatter, instancję Formatter lub podklasę Formatter. Metody format, get_field, get_value i vformat wykonują wewnętrzne przechodzenie po atrybutach i elementach bez ochrony safer_getattr, co umożliwia dostęp do globalnych funkcji, wbudowanych funkcji, plików lub prymitywów wykonania kodu.
Ocena ryzyka
Ucieczka z piaskownicy pozwala na naruszenie poufności, integralności i dostępności środowiska hosta, w tym na wykonanie dowolnego kodu i dostęp do plików.
Rekomendacja
Zaktualizuj RestrictedPython do wersji 8.4 lub nowszej.
Inne podatności w RestrictedPython
Zobacz wszystkie- CVE-2026-55830Wysokie
RestrictedPython przed wersją 8.3 nieprawidłowo sprawdzał nazwy argumentów pozycyjnych, co pozwalało na przesłonięcie chronionych nazw haków (np. __getattr__, _getitem_, _write_, _print_) przez lokalne parametry. Luka umożliwia ominięcie polityki dostępu aplikacji osadzającej.
- CVE-2023-41039Wysokie
RestrictedPython to środowisko ograniczonego wykonania dla Pythona, które pozwala na uruchamianie nieufnego kodu. Funkcjonalność 'format' Pythona umożliwia osobie kontrolującej ciąg formatowania 'odczyt' wszystkich obiektów dostępnych poprzez rekurencyjne wyszukiwanie atrybutów i subskrypcję z obiektów, do których ma dostęp, co może prowadzić do ujawnienia krytycznych informacji.
- CVE-2023-37271Wysokie
RestrictedPython to narzędzie, które definiuje podzbiór języka Python, umożliwiające użytkownikom wprowadzanie programów w zaufanym środowisku. W wersjach przed 6.1 i 5.3, atakujący mógł uzyskać dostęp do bieżącej ramki stosu w generatorze, co pozwalało na wyjście poza ograniczenia RestrictedPython i potencjalne wykonanie dowolnego kodu w interpreterze Pythona.
Oryginalny opis (angielski, źródło NVD)
RestrictedPython is a tool that helps define a subset of the Python language for accepting program input in a trusted environment. Prior to 8.4, RestrictedPython could allow a sandbox escape when a custom import policy or globals exposed the standard library string module, the string.Formatter class, a Formatter instance, or a Formatter subclass to restricted code. The string.Formatter methods format, get_field, get_value, and vformat performed attribute and item traversal internally without passing through RestrictedPython's safer_getattr protections. Restricted code could use those live object references to reach function globals, builtins, file access, or code execution primitives, affecting confidentiality, integrity, and availability in the host environment. This issue is fixed in version 8.4.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

