CliInvoke.Specializations has command injection in PowerShell and Cmd shell wrappers
### Impact An OS command injection vulnerability exists in the PowerShell and Cmd shell wrappers provided by the `CliInvoke.Specializations` package (the `PowershellProcessInvoker`/`CmdProcessInvoker` invokers, and the `UsePowerShell`/`UseCmd` middleware in v3 pre-release versions). The wrappers re-run a caller-supplied target and arguments inside a shell command (`pwsh -Command ...` / `cmd /c ...`). In affected versions the wrapped command was delivered to the operating system as a single `ProcessStartInfo.Arguments` string. The OS command-line parser re-tokenizes that string before the shell parses it, so a double quote (`"`) in the target or arguments breaks OS-level quoting and lets the wrapped shell reassemble a second, unintended command. An attacker could exploit this to execute arbitrary commands with the privileges of the host process. ### Patches The Specializations Packages now deliver the command via `ProcessStartInfo.ArgumentList` (natively where supported, and polyfilled in older TFMs), so that the operating system passes argv verbatim and only the shell parses the command once. Upgrade to: - **2.8.5** (2.8.x line) - **2.9.4** (2.9.x line) - **2.10.5** (2.10.x line) - **3.0.0-beta.1** (3.x pre-release line) ### Workarounds No complete workaround is available. Until upgraded: - Reject or strip `"` from any target path or argument passed to the PowerShell/Cmd wrappers. On 2.2.0 – 2.9.2 and 3.0.0-alpha.1 – alpha.4, also reject shell metacharacters (`;`, `|`, `&`, `
GHSA-wrvw-254r-wpmv
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:GHSA-wrvw-254r-wpmv
CliInvoke.Specializations
Source reference: /affected/0/package/name
- Affected versions
- 2.2.0
Source reference:
/affected/0/versions2.2.1Source reference:
/affected/0/versions2.3.0Source reference:
/affected/0/versions2.3.1Source reference:
/affected/0/versions2.3.2Source reference:
/affected/0/versions2.3.3Source reference:
/affected/0/versions2.3.4Source reference:
/affected/0/versions2.4.0Source reference:
/affected/0/versions2.4.1Source reference:
/affected/0/versions2.4.2Source reference:
/affected/0/versions2.4.3Source reference:
/affected/0/versions2.4.4Source reference:
/affected/0/versions2.4.5Source reference:
/affected/0/versions2.5.0Source reference:
/affected/0/versions2.5.1Source reference:
/affected/0/versions2.5.2Source reference:
/affected/0/versions2.5.3Source reference:
/affected/0/versions2.5.4Source reference:
/affected/0/versions2.6.0Source reference:
/affected/0/versions2.6.1Source reference:
/affected/0/versions2.7.0Source reference:
/affected/0/versions2.7.1Source reference:
/affected/0/versions2.8.0Source reference:
/affected/0/versions2.8.1Source reference:
/affected/0/versions2.8.2Source reference:
/affected/0/versions2.8.3Source reference:
/affected/0/versions2.8.4Source reference:
/affected/0/versions - Fixed versions
- 2.8.5
Source reference:
/affected/0/ranges - Prerequisites
- Not stated in this record
CliInvoke.Specializations
Source reference: /affected/1/package/name
- Affected versions
- 2.9.1
Source reference:
/affected/1/versions2.9.2Source reference:
/affected/1/versions2.9.3Source reference:
/affected/1/versions - Fixed versions
- 2.9.4
Source reference:
/affected/1/ranges - Prerequisites
- Not stated in this record
CliInvoke.Specializations
Source reference: /affected/2/package/name
- Affected versions
- 2.10.0
Source reference:
/affected/2/versions2.10.2Source reference:
/affected/2/versions2.10.3Source reference:
/affected/2/versions2.10.4Source reference:
/affected/2/versions - Fixed versions
- 2.10.5
Source reference:
/affected/2/ranges - Prerequisites
- Not stated in this record
CliInvoke.Specializations
Source reference: /affected/3/package/name
- Affected versions
- Not stated in this record
- Fixed versions
- 3.0.0-beta.1
Source reference:
/affected/3/ranges - Prerequisites
- Not stated in this record
CliInvoke.Specializations
Source reference: /affected/4/package/name
- Affected versions
- Not stated in this record
- Fixed versions
- 3.0.0-beta.1
Source reference:
/affected/4/ranges - Prerequisites
- Not stated in this record
AlastairLundy.CliInvoke.Specializations
Source reference: /affected/5/package/name
- Affected versions
- 1.0.0
Source reference:
/affected/5/versions1.1.0Source reference:
/affected/5/versions1.2.0Source reference:
/affected/5/versions1.2.1Source reference:
/affected/5/versions1.3.0Source reference:
/affected/5/versions1.3.1Source reference:
/affected/5/versions1.4.1Source reference:
/affected/5/versions1.4.3Source reference:
/affected/5/versions1.4.4Source reference:
/affected/5/versions1.4.5Source reference:
/affected/5/versions1.5.1Source reference:
/affected/5/versions1.5.2Source reference:
/affected/5/versions1.6.0Source reference:
/affected/5/versions1.6.1Source reference:
/affected/5/versions1.6.1.1Source reference:
/affected/5/versions2.0.0Source reference:
/affected/5/versions - Fixed versions
- 2.0.2
Source reference:
/affected/5/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": "2.2.0"
},
{
"fixed": "2.8.5"
}
]
}
],
"package": {
"name": "CliInvoke.Specializations",
"purl": "pkg:nuget/CliInvoke.Specializations",
"ecosystem": "NuGet"
},
"versions": [
"2.2.0",
"2.2.1",
"2.3.0",
"2.3.1",
"2.3.2",
"2.3.3",
"2.3.4",
"2.4.0",
"2.4.1",
"2.4.2",
"2.4.3",
"2.4.4",
"2.4.5",
"2.5.0",
"2.5.1",
"2.5.2",
"2.5.3",
"2.5.4",
"2.6.0",
"2.6.1",
"2.7.0",
"2.7.1",
"2.8.0",
"2.8.1",
"2.8.2",
"2.8.3",
"2.8.4"
],
"database_specific": {
"source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-wrvw-254r-wpmv/GHSA-wrvw-254r-wpmv.json",
"last_known_affected_version_range": "<= 2.8.4"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "2.9.0"
},
{
"fixed": "2.9.4"
}
]
}
],
"package": {
"name": "CliInvoke.Specializations",
"purl": "pkg:nuget/CliInvoke.Specializations",
"ecosystem": "NuGet"
},
"versions": [
"2.9.1",
"2.9.2",
"2.9.3"
],
"database_specific": {
"source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-wrvw-254r-wpmv/GHSA-wrvw-254r-wpmv.json",
"last_known_affected_version_range": "<= 2.9.3"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "2.10.0"
},
{
"fixed": "2.10.5"
}
]
}
],
"package": {
"name": "CliInvoke.Specializations",
"purl": "pkg:nuget/CliInvoke.Specializations",
"ecosystem": "NuGet"
},
"versions": [
"2.10.0",
"2.10.2",
"2.10.3",
"2.10.4"
],
"database_specific": {
"source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-wrvw-254r-wpmv/GHSA-wrvw-254r-wpmv.json",
"last_known_affected_version_range": "<= 2.10.4"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "3.0.0-alpha.1"
},
{
"fixed": "3.0.0-beta.1"
}
]
}
],
"package": {
"name": "CliInvoke.Specializations",
"purl": "pkg:nuget/CliInvoke.Specializations",
"ecosystem": "NuGet"
},
"database_specific": {
"source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-wrvw-254r-wpmv/GHSA-wrvw-254r-wpmv.json",
"last_known_affected_version_range": "<= 3.0.0-alpha.4"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "3.0.0-alpha.8"
},
{
"fixed": "3.0.0-beta.1"
}
]
}
],
"package": {
"name": "CliInvoke.Specializations",
"purl": "pkg:nuget/CliInvoke.Specializations",
"ecosystem": "NuGet"
},
"database_specific": {
"source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-wrvw-254r-wpmv/GHSA-wrvw-254r-wpmv.json",
"last_known_affected_version_range": "<= 3.0.0-alpha.10"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "1.0.0-rc.1"
},
{
"fixed": "2.0.2"
}
]
}
],
"package": {
"name": "AlastairLundy.CliInvoke.Specializations",
"purl": "pkg:nuget/AlastairLundy.CliInvoke.Specializations",
"ecosystem": "NuGet"
},
"versions": [
"1.0.0",
"1.1.0",
"1.2.0",
"1.2.1",
"1.3.0",
"1.3.1",
"1.4.1",
"1.4.3",
"1.4.4",
"1.4.5",
"1.5.1",
"1.5.2",
"1.6.0",
"1.6.1",
"1.6.1.1",
"2.0.0"
],
"database_specific": {
"source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-wrvw-254r-wpmv/GHSA-wrvw-254r-wpmv.json",
"last_known_affected_version_range": "<= 1.6.1.1"
}
}
]- Related CVEs
- CVE-2026-100368
Source reference:
/aliases
Publisher severity
high
Source reference: /database_specific/severity
- Event
- #18219 · Revision 1
- Added to Heist Feed
- Publisher date