Vulnerability GHSA-3w57-8xmc-8v26

High Risk
HIGH RISK
CVSS Score: 8.0
Score Range: 7.0–8.9
High severity vulnerabilities (CVSS 7.0–8.9). Serious vulnerabilities that should be prioritized soon after critical fixes.
13 days ago
September 18, 2026 at 05:17 PM UTC
AnyIO run_process/open_process ignores extra_groups and can retain parent supplementary groups
4.14.0 - 4.14.1
4.14.0 - 4.14.1

Summary

AnyIO run_process/open_process ignores extra_groups and can retain parent supplementary groups

Details

AnyIO 4.14.0 accepts the POSIX extra_groups argument on anyio.run_process() and anyio.open_process(), but open_process() forwards the wrong variable to the backend: when extra_groups is not None, it assigns kwargs["extra_groups"] = group instead of extra_groups. As a result, callers cannot reliably clear or set supplementary groups for child processes. In a disposable Linux container, Python's subprocess.run(..., extra_groups=[]) clears a synthetic parent supplementary group list, while anyio.run_process(..., extra_groups=[]) preserves the parent groups. If group is also supplied, AnyIO passes an integer as extra_groups and the call fails with TypeError. This is a POSIX privilege-dropping correctness issue for applications that rely on AnyIO subprocess helpers to launch less-privileged child processes.

Impacted packages

Timeline

Published
13 days ago
September 18, 2026 at 05:17 PM UTC
Fixed (4.14.2)
2 months ago
July 12, 2026 at 08:29 PM UTC
Last Modified
1 hour ago
October 01, 2026 at 05:56 PM UTC