Skip to content
Heist/ feed
HighFix available

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

Type: advisorySource: OSV1 source record

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.

Announced Source revision 1
Original source ↗

PYSEC-2026-4023

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:PYSEC-2026-4023

anyio

Source reference: /affected/0/package/name

Affected versions
4.14.0

Source reference: /affected/0/versions

4.14.1

Source reference: /affected/0/versions

Fixed versions
4.14.2

Source reference: /affected/0/ranges

Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "ranges": [
      {
        "type": "ECOSYSTEM",
        "events": [
          {
            "introduced": "4.14.0"
          },
          {
            "fixed": "4.14.2"
          }
        ]
      }
    ],
    "package": {
      "name": "anyio",
      "purl": "pkg:pypi/anyio",
      "ecosystem": "PyPI"
    },
    "versions": [
      "4.14.0",
      "4.14.1"
    ],
    "database_specific": {
      "source": "https://github.com/pypa/advisory-database/blob/main/vulns/anyio/PYSEC-2026-4023.yaml"
    }
  }
]
Related CVEs
CVE-2026-63349

Source reference: /aliases

Publisher severity

No explicit severity was provided.

Linked CVE context

These ratings describe the referenced vulnerabilities and products. They are not a severity rating for every application using this dependency.

Event
#62481 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement