Skip to content
Heist/ feed
HighFix available

CliInvoke.Specializations has command injection in PowerShell and Cmd shell wrappers

Type: advisorySource: OSV1 source record

### 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 (`;`, `|`, `&`, `

Announced Source revision 1
Original source ↗

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/versions

2.2.1

Source reference: /affected/0/versions

2.3.0

Source reference: /affected/0/versions

2.3.1

Source reference: /affected/0/versions

2.3.2

Source reference: /affected/0/versions

2.3.3

Source reference: /affected/0/versions

2.3.4

Source reference: /affected/0/versions

2.4.0

Source reference: /affected/0/versions

2.4.1

Source reference: /affected/0/versions

2.4.2

Source reference: /affected/0/versions

2.4.3

Source reference: /affected/0/versions

2.4.4

Source reference: /affected/0/versions

2.4.5

Source reference: /affected/0/versions

2.5.0

Source reference: /affected/0/versions

2.5.1

Source reference: /affected/0/versions

2.5.2

Source reference: /affected/0/versions

2.5.3

Source reference: /affected/0/versions

2.5.4

Source reference: /affected/0/versions

2.6.0

Source reference: /affected/0/versions

2.6.1

Source reference: /affected/0/versions

2.7.0

Source reference: /affected/0/versions

2.7.1

Source reference: /affected/0/versions

2.8.0

Source reference: /affected/0/versions

2.8.1

Source reference: /affected/0/versions

2.8.2

Source reference: /affected/0/versions

2.8.3

Source reference: /affected/0/versions

2.8.4

Source 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/versions

2.9.2

Source reference: /affected/1/versions

2.9.3

Source 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/versions

2.10.2

Source reference: /affected/2/versions

2.10.3

Source reference: /affected/2/versions

2.10.4

Source 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/versions

1.1.0

Source reference: /affected/5/versions

1.2.0

Source reference: /affected/5/versions

1.2.1

Source reference: /affected/5/versions

1.3.0

Source reference: /affected/5/versions

1.3.1

Source reference: /affected/5/versions

1.4.1

Source reference: /affected/5/versions

1.4.3

Source reference: /affected/5/versions

1.4.4

Source reference: /affected/5/versions

1.4.5

Source reference: /affected/5/versions

1.5.1

Source reference: /affected/5/versions

1.5.2

Source reference: /affected/5/versions

1.6.0

Source reference: /affected/5/versions

1.6.1

Source reference: /affected/5/versions

1.6.1.1

Source reference: /affected/5/versions

2.0.0

Source 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

Linked CVE context

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

CVE-2026-100368 · High

CliInvoke.Specializations

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