CVE-2026-63349
WysokieCVSS 7.0Streszczenie
W bibliotece AnyIO w wersji 4.14.0 funkcja open_process() przekazuje argument group do backendu zamiast extra_groups, mimo że akceptuje parametr extra_groups. Wywołanie z extra_groups=[] w celu wyczyszczenia odziedziczonych grup dodatkowych może uruchomić proces potomny zachowujący grupy procesu nadrzędnego, osłabiając granicę obniżania uprawnień. Podatność dotyczy aplikacji POSIX korzystających z pomocników podprocesów AnyIO i jest naprawiona w wersji 4.14.2.
Ocena ryzyka
Proces potomny może zachować uprawnienia grupowe procesu nadrzędnego, co może pozwolić na eskalację uprawnień lub dostęp do zasobów, które powinny być niedostępne. Dotyczy to aplikacji polegających na AnyIO do uruchamiania procesów o niższych uprawnieniach.
Rekomendacja
Zaktualizuj AnyIO do wersji 4.14.2 lub nowszej. Sprawdź, czy aplikacje korzystające z extra_groups w AnyIO nie polegają na błędnym zachowaniu.
Inne podatności w AnyIO
Zobacz wszystkie- CVE-2026-63374Krytyczne
Usługi korzystające z międzynarodowych (nie-ASCII) nazw domen mogą być podatne na ataki podczas połączeń TLS nawiązywanych przez funkcję `connect_tcp()` lub bezpośrednio przez `TLSStream.wrap()`. Jeśli połączenie zostanie przechwycone i przekierowane do złośliwego serwera, istnieje ryzyko naruszenia bezpieczeństwa.
- CVE-2026-64847Średnie
W frameworku AnyIO przed wersją 4.14.2 procesy robocze puli procesów były uruchamiane ze standardowym błędem podłączonym do potoku, którego rodzic nigdy nie opróżniał. Kod roboczy zapisujący wystarczającą ilość danych do sys.stderr mógł zapełnić potok i zablokować się przed zwróceniem odpowiedzi, powodując trwałe zablokowanie oczekującego wywołania puli procesów.
Oryginalny opis (angielski, źródło NVD)
AnyIO is a high level asynchronous concurrency and networking framework that works on top of either Trio or asyncio. In 4.14.0, AnyIO accepts the POSIX extra_groups argument in anyio.run_process() and anyio.open_process(), but open_process() forwards the group argument to the backend instead of extra_groups. A caller that supplies extra_groups=[] to clear inherited supplementary groups can therefore launch a child that retains the parent process groups, undermining a privilege-dropping boundary. If group is also supplied, the integer group value is passed where an iterable of supplementary groups is expected and the launch can fail with TypeError. This issue affects POSIX applications that rely on AnyIO subprocess helpers to launch less-privileged child processes. This issue is fixed in version 4.14.2.

