GitHub Advisoryadvisory · NuGet
GHSA-j73w-8hfr-4gc9 CliInvoke: Argument Injection in Extensibility Runner Factory
HIGH
Official page ↗
- Aliases
- CVE-2026-100369
- Ecosystem
- NuGet
- Packages
- CliInvoke, AlastairLundy.CliInvoke
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-88
- Reviewed
- 2026-09-25
Affected packages
• NuGet CliInvoke: >= 2.0.0, < 2.8.5 → fixed in 2.8.5
• NuGet CliInvoke: >= 2.9.0, < 2.9.4 → fixed in 2.9.4
• NuGet CliInvoke: >= 2.10.0, < 2.10.5 → fixed in 2.10.5
• NuGet CliInvoke: >= 3.0.0-alpha.1, < 3.0.0-beta.2 → fixed in 3.0.0-beta.2
• NuGet AlastairLundy.CliInvoke: >= 2.0.0-alpha.1, < 2.0.2 → fixed in 2.0.2
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 `ProcessConfiguration`
directly. Set `ArgumentList` explicitly to the argv you want the
runner to receive.
These are partial mitigations. They shift the quoting problem to your
code.
Related
Alias · CVE (1)
- CVE-2026-100369 CliInvoke and its formerly named `AlastairLundy.CliInvoke` package are .NET libraries for invoking command-line programs and wrapping… vulnerability
Weakness · CWE (1)
- CWE-88 Improper Neutralization of Argument Delimiters in a Command weakness
References
- https://github.com/alastairlundy/CliInvoke/security/advisories/GHSA-j73w-8hfr-4gc9 web
- https://nvd.nist.gov/vuln/detail/CVE-2026-100369 advisory
- https://github.com/alastairlundy/CliInvoke/commit/1e98582f02eb43e345e5b97b8dd6ff9443806685 web
- https://github.com/alastairlundy/CliInvoke/commit/fac321c7cc9cf4372919842701829ca2be5e7307 web
- https://github.com/alastairlundy/CliInvoke package
- https://github.com/alastairlundy/CliInvoke/releases/tag/2.10.5 web
- https://github.com/alastairlundy/CliInvoke/releases/tag/3.0.0-beta.2 web