CVE-2026-63349: AnyIO игнорирует extra_groups и сохраняет родительские группы
В AnyIO 4.14.0 обнаружена уязвимость высокого риска (CVSS 7), из-за которой функции run_process() и open_process() не применяют аргумент extra_groups. Дочерний процесс может унаследовать дополнительные группы родителя, что подрывает границу сброса привилегий. Проблема затрагивает POSIX-приложения, запускающие менее привилегированные процессы через AnyIO.
Подробности
Проблема затрагивает версию AnyIO 4.14.0. Функции anyio.run_process() и anyio.open_process() принимают POSIX-аргумент extra_groups, предназначенный для управления дополнительными группами дочернего процесса. Однако open_process() передаёт в бэкенд аргумент group вместо extra_groups. Из-за этой ошибки вызывающий код, который передаёт extra_groups=[] с намерением очистить унаследованные дополнительные группы, вместо этого запускает дочерний процесс, сохраняющий группы родителя. Это подрывает границу сброса привилегий — механизм, на который полагаются приложения, запускающие менее привилегированные дочерние процессы. Дополнительно, если передаётся и аргумент group, целочисленное значение группы попадает туда, где ожидается итерируемый набор дополнительных групп. В результате запуск процесса может завершиться ошибкой TypeError. Уязвимость касается POSIX-приложений, которые используют вспомогательные функции запуска подпроцессов AnyIO для создания процессов с пониженными привилегиями. Продукт: agronholm anyio.Что делать
Разработчикам рекомендуется обновить AnyIO до версии 4.14.2, в которой проблема исправлена. Это наиболее надёжный способ устранения уязвимости. До обновления следует учитывать, что передача extra_groups=[] не гарантирует очистку дополнительных групп дочернего процесса. Если логика безопасности приложения опирается на сброс групп при запуске подпроцессов, такую защиту нужно пересмотреть или временно ограничить запуск привилегированных операций через AnyIO. Также стоит проверить сценарии, где одновременно используются аргументы group и extra_groups, — они могут приводить к ошибке TypeError.Итог
CVE-2026-63349 — уязвимость высокого риска, способная незаметно нарушить изоляцию привилегий при запуске подпроцессов через AnyIO на POSIX-системах. Исправление доступно в версии 4.14.2, поэтому обновление библиотеки является приоритетной мерой для всех затронутых приложений.Источник: CVE Project (cvelistV5)
