Skip to content
CVE IDCVE-2026-63349GitHub advisory IDGHSA-3w57-8xmc-8v26

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

CVE-2026-63349 (GitHub advisory GHSA-3w57-8xmc-8v26) is a high-severity vulnerability with a CVSS 4.0 base score of 7.0, classed as Incorrect Privilege Assignment (CWE-266), in anyio (PyPI). Affected versions: >= 4.14.0, < 4.14.2. It is fixed in 4.14.2.

High7.0Fix availableGitHub reviewed

Published 18 Sept 2026Updated 18 Sept 2026

7.0HighCVSS 4.0
EPSS
0.1%higher than 1% of CVEs
Weaknesses (CWE)
  • CWE-266Incorrect Privilege Assignment
  • CWE-269Improper Privilege Management
KEV status
Not in KEV
Published
18 Sept 2026
Updated
18 Sept 2026
Ecosystem
  • PyPI
Assigned by (CNA)
GitHub_M

Summary

Source: OSV (GitHub advisory)

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.

Technical details

Source: GitHub Advisory Database

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

High7.0Base score from GitHub Advisory Database

Attack Vector AV
Local
Attack Complexity AC
High
Attack Requirements AT
Present
Privileges Required PR
High
User Interaction UI
None
Confidentiality (Vulnerable System) VC
High
Integrity (Vulnerable System) VI
High
Availability (Vulnerable System) VA
None
Confidentiality (Subsequent Systems) SC
None
Integrity (Subsequent Systems) SI
None
Availability (Subsequent Systems) SA
None

Affected packages

Source: OSV (GitHub advisory)

  • anyio
    PyPI
    pkg:pypi/anyio
    Affected versions
    >= 4.14.0, < 4.14.2
    Fixed in
    4.14.2
    Show 2 listed versions
    • 4.14.0
    • 4.14.1

Fix

Source: OSV (GitHub advisory)

Fix available

Upgrade to 4.14.2 or later.

Patch commits

  • eb562e6Patch commitgithub.com/agronholm/anyio

    Fixed `extra_groups` not being passed to backend `open_process()` (#1209)

    +35 −4 across 3 files

    • docs/versionhistory.rst+3 −0
    • src/anyio/_core/_subprocesses.py+1 −1
    • tests/test_subprocesses.py+31 −3
  • #1209Pull requestgithub.com/agronholm/anyio

Release commits

The commits each fixed release tag points at. They usually bump the version rather than contain the fix itself.

  • c384f99Release commit4.14.2github.com/agronholm/anyio

Vulnerability intelligence

References

Credits

Questions about CVE-2026-63349

What is the GHSA ID for CVE-2026-63349?
GitHub tracks CVE-2026-63349 as GHSA-3w57-8xmc-8v26.
What is the CVSS score of CVE-2026-63349?
CVE-2026-63349 has a CVSS 4.0 base score of 7.0 (High), vector 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.
Which versions are affected by CVE-2026-63349?
anyio (PyPI): >= 4.14.0, < 4.14.2.
How do I fix CVE-2026-63349?
Upgrade to 4.14.2 or later. The fix is in commit eb562e6 and pull request #1209.
What is the Package URL (PURL) for CVE-2026-63349?
The affected package's PURL is pkg:pypi/anyio.
Is CVE-2026-63349 exploited in the wild?
CISA's Known Exploited Vulnerabilities catalog doesn't list CVE-2026-63349. That means no confirmed exploitation has been catalogued, not that it is safe to leave unpatched. EPSS estimates a 0.1% chance of exploitation in the next 30 days, higher than 1% of CVEs.

Data sources

Upstream records

  • OSV (GitHub advisory)LoadedRaw JSON
  • GitHub Advisory DatabaseLoadedRaw JSON
  • OSV (CVE record)LoadedRaw JSON
  • CVE.orgLoaded
  • CISA KEV catalogLoaded

Fetched 6 days ago (7 Oct 2026, 12:27 UTC). Records refresh automatically after 24 hours.

Where each part of this page came from

Title and description
OSV (GitHub advisory)
Severity score
GitHub Advisory Database
Weakness (CWE)
GitHub Advisory Database
Affected packages
OSV (GitHub advisory)
Fix
OSV (GitHub advisory)
References
Computed by CVEminer
KEV status
CISA KEV catalog
EPSS
GitHub Advisory Database

OSV and GitHub Advisory Database content is licensed CC BY 4.0. Values marked as computed or derived were calculated by CVEminer from the upstream data.