BREW-PDM-CVE-2026-63349 (GHSA-3W57-8XMC-8V26)
Vulnerability from osv_homebrew – Published: 2026-09-19 11:21 – Updated: 2026-09-19 11:21 – Source websiteAnyIO 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.
{
"affected": [
{
"ecosystem_specific": {
"fix": "bump",
"range_state": "fixed",
"resource": "anyio",
"resource_purl": "pkg:pypi/anyio@4.15.1",
"upstream_fixed_in": "4.14.2"
},
"package": {
"ecosystem": "Homebrew",
"name": "pdm",
"purl": "pkg:brew/pdm"
},
"ranges": [
{
"events": [
{
"introduced": "2.27.0_1"
},
{
"fixed": "2.28.1"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"database_specific": {
"confidence": "high",
"source": "matched",
"strategy": "registry",
"upstream_evidence": [
{
"ecosystem": "PyPI",
"key": "pkg:pypi/anyio@4.15.1",
"name": "anyio",
"resource": "anyio",
"strategy": "registry",
"subject_version": "4.15.1"
}
]
},
"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\u0027s 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.",
"id": "BREW-pdm-CVE-2026-63349",
"modified": "2026-09-19T11:21:48Z",
"published": "2026-09-19T11:21:48Z",
"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"
}
],
"schema_version": "1.7.3",
"severity": [
{
"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",
"type": "CVSS_V4"
}
],
"summary": "AnyIO run_process/open_process ignores extra_groups and can retain parent supplementary groups",
"upstream": [
"GHSA-3w57-8xmc-8v26",
"CVE-2026-63349"
]
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.