CVE-2026-106439
WysokieCVSS 8.5Streszczenie
Hydra od wersji 1.3.4 do 1.3.7 i 1.4.0.dev10 przechowuje listy blokowane celów instantiate i powiązane kolekcje polityki wykonawczej w mutowalnym stanie na poziomie modułu. Atakujący kontrolujący wiele wpisów docelowych może rozwiązać hydra._internal.target_policy.UNCONTROLLED_EXECUTION_TARGETS.discard przez instantiate(), usunąć zabroniony cel, a następnie wywołać ten cel, ponieważ węzły rodzeństwa są przetwarzane w kolejności wstawiania względem tej samej zmodyfikowanej polityki.
Ocena ryzyka
Atakujący może zmodyfikować globalny stan procesu, aby wykonać kod z uprawnieniami aplikacji, co może prowadzić do przejęcia aplikacji lub systemu.
Rekomendacja
Zaktualizuj Hydra do wersji 1.3.7 lub 1.4.0.dev10 (lub nowszej) i unikaj przetwarzania niezaufanych konfiguracji z wieloma wpisami docelowymi.
Inne podatności w Hydra
Zobacz wszystkie- CVE-2026-106442Wysokie
Hydra w wersjach od 1.3.4 do 1.3.6 oraz 1.4.0.dev9 ma niekompletną czarną listę celów dla instantiate(), która nie sprawdza w pełni efektywnego wywoływanego obiektu. Obejścia takie jak timeit.timeit, deserializacja pickle.loads, aliasy, pomocnicy zwracający callable, ogólne dispatch i odroczone wywołania mogą ukryć lub opóźnić efektywny cel i obejść autoryzację opartą na nazwie.
- CVE-2026-106441Wysokie
Hydra przed wersjami 1.3.6 i 1.4.0.dev9 przekazuje konfigurację logowania Pythona do logging.config.dictConfig() bez stosowania polityki celów Hydra do wartości klas handlerów oraz fabryk formatterów, filtrów, handlerów, kolejek i listenerów. Atakujący kontrolujący konfigurację logowania Hydra może wybrać importowalną klasę lub fabrykę i wywołać ją z uprawnieniami aplikacji.
- CVE-2026-106440Wysokie
Hydra od wersji 1.2.0 do 1.3.0 i 1.4.0.dev10 w pakiecie hydra-optuna-sweeper akceptuje sterowaną konfiguracją ścieżkę kropkową w hydra.sweeper.custom_search_space, rozwiązuje ją za pomocą hydra.utils.get_method() i później wywołuje zwrócony callable w procesie kontrolera Hydra. Ponieważ get_method() nie stosuje polityki wykonawczej używanej przez instantiate(), atakujący kontrolujący konfigurację Optuna lub nadpisania wiersza poleceń może wybrać importowalny kod Pythona do wykonania z uprawnieniami aplikacji.
- CVE-2026-68508Wysokie
Hydra przed wersją 1.3.4 ma podatność umożliwiającą wykonanie dowolnego kodu. Funkcja hydra.utils.instantiate() rozwiązuje i wywołuje obiekty Pythona wybrane przez konfigurację, co pozwala atakującemu na wywołanie niebezpiecznych funkcji.
- CVE-2026-56766Wysokie
Podatność w Hydra do wersji 9.7 (załatana w commicie 9cc84c2) powoduje przepełnienie bufora stosu w modułach NTLM dla SMTP, POP3, IMAP, NNTP, HTTP, HTTP-Proxy i HTTP-Proxy-Urlenum podczas przetwarzania złośliwych wyzwań NTLM Type-2. Zdalny serwer może wysłać spreparowane wyzwanie z nadmiernie długim ciągiem domeny, powodując przepełnienie 500-bajtowego bufora stosu o 18 do 330 bajtów, co umożliwia zdalne wykonanie kodu na systemach bez ochrony stosu.
Oryginalny opis (angielski, źródło NVD)
Hydra is a framework for elegantly configuring complex applications. From 1.3.4 until 1.3.7 and 1.4.0.dev10, Hydra stores legacy instantiate target blocklists and related execution-policy collections in mutable module-level state. An attacker who controls multiple sibling target entries can resolve hydra._internal.target_policy.UNCONTROLLED_EXECUTION_TARGETS.discard through instantiate(), remove a denied target, and then invoke that target because sibling nodes are processed in insertion order against the same modified policy. The mutation persists in process-global state and can enable code execution with the application's privileges, while a narrow execution whitelist supplied by trusted Python code is not bypassed by the reported direct mutation path. This issue is fixed in versions 1.3.7 and 1.4.0.dev10.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

