Register for the AI for Security Summit: Join Figma, Perplexity & Wiz

CVE-2026-63349
Python vulnerability analysis and mitigation

Overview

CVE-2026-63349 is a privilege management flaw in AnyIO's subprocess helpers (run_process() and open_process()) that causes the extra_groups argument to be silently ignored, preventing applications from reliably dropping supplementary POSIX groups when spawning child processes. Introduced in version 4.14.0, it affects AnyIO versions >= 4.14.0 and < 4.14.2. The vulnerability was first published on July 7, 2026, and added to the GitHub Advisory Database on September 18, 2026. It carries a CVSS v4.0 base score of 7.0 (High) (GitHub Advisory).

Technical details

The root cause is a one-line coding error in src/anyio/_core/_subprocesses.py: when extra_groups is not None, the code incorrectly assigns kwargs["extra_groups"] = group (the primary group integer) instead of kwargs["extra_groups"] = extra_groups (the intended list of supplementary groups), classified under CWE-266 (Incorrect Privilege Assignment) and CWE-269 (Improper Privilege Management) (GitHub Advisory). This means a caller passing extra_groups=[] to clear inherited supplementary groups will have no effect — the child process retains the parent's full supplementary group memberships. Additionally, if both group and extra_groups are supplied, an integer is passed where a list is expected, causing the subprocess launch to fail with a TypeError. Exploitation requires local access, high privileges, and specific deployment conditions (POSIX systems where the application relies on AnyIO subprocess helpers for privilege separation) (GitHub PR #1209).

Impact

Applications that rely on AnyIO's subprocess helpers to launch less-privileged child processes on POSIX systems cannot reliably enforce privilege boundaries — child processes retain the parent's supplementary group memberships instead of having them cleared or replaced as intended. This can lead to unintended access to files, sockets, or other resources protected by those group memberships, potentially exposing sensitive data (confidentiality impact: High) or allowing unauthorized modifications (integrity impact: High). Availability is not directly impacted, though a secondary failure mode — TypeError when both group and extra_groups are supplied — can cause subprocess launches to crash (GitHub Advisory).

Exploitability

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation as of the disclosure date (Feedly). The vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog. The EPSS score is 0.0, reflecting a very low probability of near-term exploitation (GitHub Advisory). Exploitation requires high privileges and specific preconditions (POSIX environment, application use of AnyIO subprocess helpers with extra_groups), significantly limiting the attack surface.

Mitigation and workarounds

The fix is available in AnyIO version 4.14.2, released July 12, 2026, which corrects the one-line bug so that extra_groups is properly forwarded to the backend (AnyIO Release 4.14.2). Users should upgrade from any 4.14.0 or 4.14.1 installation to 4.14.2 via pip install --upgrade anyio. As an interim workaround for applications that cannot upgrade immediately, use Python's standard subprocess module directly (e.g., subprocess.run(..., extra_groups=[])) instead of AnyIO's subprocess helpers to ensure supplementary groups are correctly managed (GitHub Advisory).

Community reactions

The vulnerability was reported by security researcher Faze-up and addressed promptly by AnyIO maintainer agronholm, with the fix merged via PR #1209 on July 8, 2026, one day after disclosure (GitHub PR #1209). No significant broader media coverage or notable community commentary beyond the advisory and patch has been identified.

Additional resources


SourceThis report was generated using AI

Related Python vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2025-66455CRITICAL9.8
  • Python logoPython
  • lmdeploy
NoYesSep 18, 2026
CVE-2026-63374CRITICAL9.3
  • Python logoPython
  • airflow-core-2
NoYesSep 18, 2026
CVE-2026-59163CRITICAL9.1
  • Python logoPython
  • mnemosyne-memory
NoYesSep 18, 2026
CVE-2026-33625HIGH8.8
  • Python logoPython
  • lmdeploy
NoYesSep 18, 2026
CVE-2026-64847MEDIUM6.8
  • Python logoPython
  • airflow-3
NoYesSep 18, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management