Action not permitted
Modal body text goes here.
Modal Title
Modal Body
GHSA-3W57-8XMC-8V26
Vulnerability from github – Published: 2026-09-18 17:17 – Updated: 2026-09-18 17:17AnyIO 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": [
{
"package": {
"ecosystem": "PyPI",
"name": "anyio"
},
"ranges": [
{
"events": [
{
"introduced": "4.14.0"
},
{
"fixed": "4.14.2"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-63349"
],
"database_specific": {
"cwe_ids": [
"CWE-266",
"CWE-269"
],
"github_reviewed": true,
"github_reviewed_at": "2026-09-18T17:17:23Z",
"nvd_published_at": null,
"severity": "HIGH"
},
"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": "GHSA-3w57-8xmc-8v26",
"modified": "2026-09-18T17:17:23Z",
"published": "2026-09-18T17:17:23Z",
"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.4.0",
"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-BILIX-CVE-2026-63349 (GHSA-3W57-8XMC-8V26)
Vulnerability from osv_homebrew – Published: 2026-09-19 08:48 – Updated: 2026-09-19 08:48 – 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": "bilix",
"purl": "pkg:brew/bilix"
},
"ranges": [
{
"events": [
{
"introduced": "0.18.9_9"
},
{
"fixed": "0.18.9_10"
}
],
"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-bilix-CVE-2026-63349",
"modified": "2026-09-19T08:48:40Z",
"published": "2026-09-19T08:48:40Z",
"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"
]
}
BREW-CHARMCRAFT-CVE-2026-63349 (GHSA-3W57-8XMC-8V26)
Vulnerability from osv_homebrew – Published: 2026-09-19 08:55 – Updated: 2026-09-19 08:55 – 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": "charmcraft",
"purl": "pkg:brew/charmcraft"
},
"ranges": [
{
"events": [
{
"introduced": "4.2.2"
},
{
"fixed": "4.4.0"
}
],
"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-charmcraft-CVE-2026-63349",
"modified": "2026-09-19T08:55:34Z",
"published": "2026-09-19T08:55:34Z",
"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"
]
}
BREW-FASTAPI-CVE-2026-63349 (GHSA-3W57-8XMC-8V26)
Vulnerability from osv_homebrew – Published: 2026-09-19 09:25 – Updated: 2026-09-19 09:25 – 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": "fastapi",
"purl": "pkg:brew/fastapi"
},
"ranges": [
{
"events": [
{
"introduced": "0.137.2"
},
{
"fixed": "0.139.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-fastapi-CVE-2026-63349",
"modified": "2026-09-19T09:25:56Z",
"published": "2026-09-19T09:25:56Z",
"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"
]
}
BREW-FASTMCP-CVE-2026-63349 (GHSA-3W57-8XMC-8V26)
Vulnerability from osv_homebrew – Published: 2026-09-19 09:26 – Updated: 2026-09-19 09:26 – 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": "fastmcp",
"purl": "pkg:brew/fastmcp"
},
"ranges": [
{
"events": [
{
"introduced": "3.4.2_2"
},
{
"fixed": "3.4.5"
}
],
"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-fastmcp-CVE-2026-63349",
"modified": "2026-09-19T09:26:38Z",
"published": "2026-09-19T09:26:38Z",
"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"
]
}
BREW-FAVA-CVE-2026-63349 (GHSA-3W57-8XMC-8V26)
Vulnerability from osv_homebrew – Published: 2026-09-19 09:27 – Updated: 2026-09-19 09:27 – 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": "fava",
"purl": "pkg:brew/fava"
},
"ranges": [
{
"events": [
{
"introduced": "1.30.14"
},
{
"fixed": "1.30.15"
}
],
"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-fava-CVE-2026-63349",
"modified": "2026-09-19T09:27:16Z",
"published": "2026-09-19T09:27:16Z",
"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"
]
}
BREW-GPTLINE-CVE-2026-63349 (GHSA-3W57-8XMC-8V26)
Vulnerability from osv_homebrew – Published: 2026-09-19 09:45 – Updated: 2026-09-19 09:45 – 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": "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.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-gptline-CVE-2026-63349",
"modified": "2026-09-19T09:45:33Z",
"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"
]
}
BREW-GPTME-CVE-2026-63349 (GHSA-3W57-8XMC-8V26)
Vulnerability from osv_homebrew – Published: 2026-09-19 09:46 – Updated: 2026-09-19 09:46 – 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": "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.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-gptme-CVE-2026-63349",
"modified": "2026-09-19T09:46:01Z",
"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"
]
}
BREW-HATCH-CVE-2026-63349 (GHSA-3W57-8XMC-8V26)
Vulnerability from osv_homebrew – Published: 2026-09-19 09:50 – Updated: 2026-09-19 09:50 – 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-09-19T09:50:50Z",
"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"
]
}
BREW-HERMES-AGENT-CVE-20… (GHSA-3W57-8XMC-8V26)
Vulnerability from osv_homebrew – Published: 2026-09-19 09:51 – Updated: 2026-09-19 09:51 – 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-09-19T09:51:11Z",
"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"
]
}
BREW-HF-CVE-2026-63349 (GHSA-3W57-8XMC-8V26)
Vulnerability from osv_homebrew – Published: 2026-09-19 09:51 – Updated: 2026-09-19 09:51 – 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-09-19T09:51:37Z",
"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"
]
}
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.