PYSEC-2026-4023
AnyIO run_process/open_process ignores extra_groups and can retain parent supplementary groups
En bref
- Publiée
- Mise à jour
- CVE
- CVE-2026-63349
- Alias
- GHSA-3w57-8xmc-8v26
- CVSS_V4
- CVSS:4.0/AV:L/AC:H/AT:P/PR:H/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Description
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.
Paquets affectés
| Paquet | Versions |
|---|---|
| PyPI · anyio | introduced 4.14.0, fixed 4.14.2 |
Références
- https://github.com/agronholm/anyio/security/advisories/GHSA-3w57-8xmc-8v26 WEB
- https://github.com/agronholm/anyio/pull/1209 WEB
- https://github.com/agronholm/anyio/commit/eb562e6462ee46b1904e50b02ce00a858cdeb200 WEB
- https://github.com/agronholm/anyio PACKAGE
- https://github.com/agronholm/anyio/releases/tag/4.14.2 WEB
- https://pypi.org/project/anyio PACKAGE
- https://github.com/advisories/GHSA-3w57-8xmc-8v26 ADVISORY
- https://nvd.nist.gov/vuln/detail/CVE-2026-63349 ADVISORY
Sources
| Source | Licence |
|---|---|
| OSV.dev | CC-BY 4.0 — PyPA Advisory Database |