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.
Upgrade to:
No complete workaround is available. Until you can upgrade:
" from any target or argument before passing it to the
factory. On shell runners, also strip ;, |, &, $, backtick,
and parentheses.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.
{
"cwe_ids": [
"CWE-88"
],
"github_reviewed": true,
"github_reviewed_at": "2026-09-25T21:41:36Z",
"nvd_published_at": "2026-09-25T21:17:21Z",
"severity": "HIGH"
}