CVE-2026-63349: Anyio AnyIO Run_process/open_process Ignores Extra_groups And Vulnerability
HIGHCVE-2026-63349 is a HIGH anyio run_process/open_process ignores extra_groups and vulnerability (CWE-266: Incorrect Privilege Assignment) affecting Anyio libraries in the PyPI ecosystem. The issue involves anyio run_process/open_process ignores extra_groups and can retain parent supplementary groups. Remediation is available by upgrading affected packages to version 4.14.2.
CVE-2026-63349 at a Glance
How to Fix CVE-2026-63349
To remediate this vulnerability, upgrade all affected Anyio dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
pip install anyio>=4.14.2
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
pip show anyio
How to Check if You Are Affected
To determine whether your Python environment is affected by CVE-2026-63349, inspect your installed packages using pip:
pip show anyio
Analyze the terminal output to locate any version of Anyio in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 4.14.2), your application is affected.
Note: The pip show anyio command checks currently installed packages in your active Python environment.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-266: Incorrect Privilege Assignment, where a product incorrectly assigns a privilege to a particular actor, creating an unintended sphere of control for that actor. In Anyio, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-63349 Affected Anyio Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
anyio
|
PyPI |
≥ 4.14.0
< 4.14.2
|
4.14.2
|
References
Frequently Asked Questions
What is CVE-2026-63349?
Which Anyio versions are affected?
What version fixes CVE-2026-63349?
Is anyio affected?
What CWE is associated with CVE-2026-63349?
How can I check PyPI dependencies for CVE-2026-63349?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-3w57-8xmc-8v26",
"modified" : "2026-09-18T17:17:23Z",
"published" : "2026-09-18T17:17:23Z",
"aliases" : [ "CVE-2026-63349" ],
"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.",
"severity" : [ {
"type" : "CVSS_V4",
"score" : "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"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "PyPI",
"name" : "anyio"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "4.14.0"
}, {
"fixed" : "4.14.2"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/agronholm/anyio/security/advisories/GHSA-3w57-8xmc-8v26"
}, {
"type" : "WEB",
"url" : "https://github.com/agronholm/anyio/pull/1209"
}, {
"type" : "WEB",
"url" : "https://github.com/agronholm/anyio/commit/eb562e6462ee46b1904e50b02ce00a858cdeb200"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/agronholm/anyio"
}, {
"type" : "WEB",
"url" : "https://github.com/agronholm/anyio/releases/tag/4.14.2"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-266", "CWE-269" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2026-09-18T17:17:23Z",
"nvd_published_at" : null
}
}