GHSA-j73w-8hfr-4gc9HighCVSS 8.4
CliInvoke: Argument Injection in Extensibility Runner Factory
🔗 CVE IDs covered (1)
📋 Description
Impact
An argument-injection vulnerability exists in the CliInvoke
package's runner factory: RunnerProcessFactory on the 2.x line and
RunnerConfigurationFactory on the 3.x line.
The factory joins the runner arguments, the caller's target, and the
caller's arguments into a single ProcessStartInfo.Arguments string and
hands it to the OS. The OS command-line parser re-tokenizes the string
before the runner sees it. A double quote (") in the target or in any
argument closes the OS-level quoted region and lets the next character
enter argv as a separate element.
Patches
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.2 (3.x pre-release line)
Workarounds
No complete workaround is available. Until you can upgrade:
- Strip
"from any target or argument before passing it to the factory. On shell runners, also strip;,|,&,$, backtick, and parentheses. - Or bypass the factory entirely and build the
ProcessConfigurationdirectly. SetArgumentListexplicitly to the argv you want the runner to receive.
These are partial mitigations. They shift the quoting problem to your code.
🎯 Affected products5
- nuget/CliInvoke:>= 2.0.0, <= 2.8.4
- nuget/CliInvoke:>= 2.9.0, <= 2.9.3
- nuget/CliInvoke:>= 2.10.0, <= 2.10.4
- nuget/CliInvoke:>= 3.0.0-alpha.1, <= 3.0.0-beta.1
- nuget/AlastairLundy.CliInvoke:>= 2.0.0-alpha.1, <= 2.0.0
🔗 References (7)
- https://github.com/alastairlundy/CliInvoke/security/advisories/GHSA-j73w-8hfr-4gc9
- https://nvd.nist.gov/vuln/detail/CVE-2026-100369
- https://github.com/alastairlundy/CliInvoke/commit/1e98582f02eb43e345e5b97b8dd6ff9443806685
- https://github.com/alastairlundy/CliInvoke/commit/fac321c7cc9cf4372919842701829ca2be5e7307
- https://github.com/alastairlundy/CliInvoke/releases/tag/2.10.5
- https://github.com/alastairlundy/CliInvoke/releases/tag/3.0.0-beta.2
- https://github.com/advisories/GHSA-j73w-8hfr-4gc9