Action not permitted
Modal body text goes here.
Modal Title
Modal Body
PYSEC-2026-4023
Vulnerability from pysec - Published: 2026-10-01 16:38 - Updated: 2026-10-01 17:10AnyIO 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.
| Name | purl | anyio | pkg:pypi/anyio |
|---|
{
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "anyio",
"purl": "pkg:pypi/anyio"
},
"ranges": [
{
"events": [
{
"introduced": "4.14.0"
},
{
"fixed": "4.14.2"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"4.14.0",
"4.14.1"
]
}
],
"aliases": [
"CVE-2026-63349",
"GHSA-3w57-8xmc-8v26"
],
"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": "PYSEC-2026-4023",
"modified": "2026-10-01T17:10:17.037997Z",
"published": "2026-10-01T16:38:33.685528Z",
"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"
},
{
"type": "PACKAGE",
"url": "https://pypi.org/project/anyio"
},
{
"type": "ADVISORY",
"url": "https://github.com/advisories/GHSA-3w57-8xmc-8v26"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-63349"
}
],
"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"
}
BREW-GPTLINE-CVE-2026-63349 (GHSA-3W57-8XMC-8V26)
Vulnerability from osv_homebrew – Published: 2026-09-19 09:45 – Updated: 2026-10-04 12:37 – 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": "gptline",
"purl": "pkg:brew/gptline"
},
"ranges": [
{
"events": [
{
"introduced": "1.0.8_22"
},
{
"fixed": "1.0.8_23"
}
],
"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-gptline-CVE-2026-63349",
"modified": "2026-10-04T12:37:46Z",
"published": "2026-09-19T09:45:33Z",
"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",
"PYSEC-2026-4023"
]
}
BREW-GPTME-CVE-2026-63349 (GHSA-3W57-8XMC-8V26)
Vulnerability from osv_homebrew – Published: 2026-09-19 09:46 – Updated: 2026-10-02 09:13 – 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": "gptme",
"purl": "pkg:brew/gptme"
},
"ranges": [
{
"events": [
{
"introduced": "0.31.0_13"
},
{
"fixed": "0.32.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-gptme-CVE-2026-63349",
"modified": "2026-10-02T09:13:54Z",
"published": "2026-09-19T09:46:01Z",
"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",
"PYSEC-2026-4023"
]
}
BREW-HATCH-CVE-2026-63349 (GHSA-3W57-8XMC-8V26)
Vulnerability from osv_homebrew – Published: 2026-09-19 09:50 – Updated: 2026-10-02 10:16 – 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": "hatch",
"purl": "pkg:brew/hatch"
},
"ranges": [
{
"events": [
{
"introduced": "1.17.1"
},
{
"fixed": "1.18.0"
}
],
"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-hatch-CVE-2026-63349",
"modified": "2026-10-02T10:16:14Z",
"published": "2026-09-19T09:50:50Z",
"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",
"PYSEC-2026-4023"
]
}
BREW-HERMES-AGENT-CVE-20… (GHSA-3W57-8XMC-8V26)
Vulnerability from osv_homebrew – Published: 2026-09-19 09:51 – Updated: 2026-10-02 09:53 – 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": "hermes-agent",
"purl": "pkg:brew/hermes-agent"
},
"ranges": [
{
"events": [
{
"introduced": "2026.7.1"
},
{
"fixed": "2026.7.20"
}
],
"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-hermes-agent-CVE-2026-63349",
"modified": "2026-10-02T09:53:16Z",
"published": "2026-09-19T09:51:11Z",
"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",
"PYSEC-2026-4023"
]
}
BREW-HF-CVE-2026-63349 (GHSA-3W57-8XMC-8V26)
Vulnerability from osv_homebrew – Published: 2026-09-19 09:51 – Updated: 2026-10-02 09:56 – 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": "hf",
"purl": "pkg:brew/hf"
},
"ranges": [
{
"events": [
{
"introduced": "1.20.0"
},
{
"fixed": "1.24.0"
}
],
"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-hf-CVE-2026-63349",
"modified": "2026-10-02T09:56:33Z",
"published": "2026-09-19T09:51:37Z",
"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",
"PYSEC-2026-4023"
]
}
BREW-JIRATUI-CVE-2026-63349 (GHSA-3W57-8XMC-8V26)
Vulnerability from osv_homebrew – Published: 2026-09-20 11:31 – Updated: 2026-10-02 09:59 – 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": "jiratui",
"purl": "pkg:brew/jiratui"
},
"ranges": [
{
"events": [
{
"introduced": "1.9.1"
},
{
"fixed": "1.10.1_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-jiratui-CVE-2026-63349",
"modified": "2026-10-02T09:59:37Z",
"published": "2026-09-20T11:31:41Z",
"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",
"PYSEC-2026-4023"
]
}
BREW-JUPYTERLAB-CVE-2026-63349 (GHSA-3W57-8XMC-8V26)
Vulnerability from osv_homebrew – Published: 2026-09-19 10:05 – Updated: 2026-10-02 10:00 – 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": "jupyterlab",
"purl": "pkg:brew/jupyterlab"
},
"ranges": [
{
"events": [
{
"introduced": "4.5.9"
},
{
"fixed": "4.6.2"
}
],
"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-jupyterlab-CVE-2026-63349",
"modified": "2026-10-02T10:00:45Z",
"published": "2026-09-19T10:05:24Z",
"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",
"PYSEC-2026-4023"
]
}
BREW-KASKADE-CVE-2026-63349 (GHSA-3W57-8XMC-8V26)
Vulnerability from osv_homebrew – Published: 2026-09-19 10:06 – Updated: 2026-10-02 10:22 – 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": "kaskade",
"purl": "pkg:brew/kaskade"
},
"ranges": [
{
"events": [
{
"introduced": "4.0.7_6"
},
{
"fixed": "5.0.0"
}
],
"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-kaskade-CVE-2026-63349",
"modified": "2026-10-02T10:22:44Z",
"published": "2026-09-19T10:06:10Z",
"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",
"PYSEC-2026-4023"
]
}
BREW-KIMI-CLI-CVE-2026-63349 (GHSA-3W57-8XMC-8V26)
Vulnerability from osv_homebrew – Published: 2026-09-20 12:18 – Updated: 2026-10-02 11:01 – 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.14.2",
"upstream_fixed_in": "4.14.2"
},
"package": {
"ecosystem": "Homebrew",
"name": "kimi-cli",
"purl": "pkg:brew/kimi-cli"
},
"ranges": [
{
"events": [
{
"introduced": "1.47.0_2"
},
{
"fixed": "1.48.0_1"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"database_specific": {
"confidence": "high",
"source": "matched",
"strategy": "registry",
"upstream_evidence": [
{
"ecosystem": "PyPI",
"key": "pkg:pypi/anyio@4.14.2",
"name": "anyio",
"resource": "anyio",
"strategy": "registry",
"subject_version": "4.14.2"
}
]
},
"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-kimi-cli-CVE-2026-63349",
"modified": "2026-10-02T11:01:04Z",
"published": "2026-09-20T12:18:00Z",
"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",
"PYSEC-2026-4023"
]
}
BREW-LANGGRAPH-CLI-CVE-2… (GHSA-3W57-8XMC-8V26)
Vulnerability from osv_homebrew – Published: 2026-09-19 10:10 – Updated: 2026-10-02 09:15 – 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": "langgraph-cli",
"purl": "pkg:brew/langgraph-cli"
},
"ranges": [
{
"events": [
{
"introduced": "0.4.30"
},
{
"fixed": "0.4.31_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-langgraph-cli-CVE-2026-63349",
"modified": "2026-10-02T09:15:08Z",
"published": "2026-09-19T10:10:29Z",
"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",
"PYSEC-2026-4023"
]
}
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.