Description
CliInvoke and its formerly named `AlastairLundy.CliInvoke` package are .NET libraries for invoking command-line programs and wrapping executable processes. `CliInvoke` versions 2.0.0 through 2.8.4, 2.9.0 through 2.9.3, 2.10.0 through 2.10.4, and 3.0.0-alpha.1 through 3.0.0-beta.1, as well as `AlastairLundy.CliInvoke` versions 2.0.0-alpha.1 through 2.0.0, contain an argument-injection vulnerability in `RunnerProcessFactory` on the 2.x line and `RunnerConfigurationFactory` on the 3.x line. These factories combine runner arguments, a caller-controlled target, and caller-controlled arguments into one `ProcessStartInfo.Arguments` string, allowing a double quote in the target or an argument to terminate an operating-system-level quoted region and inject unintended elements into the runner’s argument vector, potentially resulting in arbitrary command execution when a shell runner is used. The vulnerability is patched in `CliInvoke` versions 2.8.5, 2.9.4, 2.10.5, and 3.0.0-beta.2, and in `AlastairLundy.CliInvoke` version 2.0.2. No complete workaround is available; users unable to upgrade can partially mitigate the issue by removing double quotes from targets and arguments, additionally removing shell metacharacters when using shell runners, or bypassing the vulnerable factory and constructing a `ProcessConfiguration` with an explicit `ArgumentList`.
Published: 2026-09-25
Score: 8.4 High
EPSS: < 1% Very Low
KEV: No
Impact: Arbitrary Command Execution
Action: Apply Patch
AI Analysis

Impact

CliInvoke and its former name AlastairLundy.CliInvoke contain an argument‑injection flaw in the RunnerProcessFactory for the 2.x line and in the RunnerConfigurationFactory for the 3.x line. The factories concatenate caller‑controlled targets and arguments into a single ProcessStartInfo.Arguments string without proper quoting, allowing an injected double quote to terminate a quoted region and insert unintended arguments. When a shell runner is used, this can lead to arbitrary command execution controlled by an attacker through crafted input. CWE‑88 identifies the underlying weakness in the code that concatenates arguments insecurely.

Affected Systems

The vulnerability affects the .NET libraries CliInvoke and AlastairLundy.CliInvoke from the author alastairlundy. Affected editions include CliInvoke versions 2.0.0 to 2.8.4, 2.9.0 to 2.9.3, 2.10.0 to 2.10.4 and preliminary releases 3.0.0‑alpha.1 to 3.0.0‑beta.1, as well as AlastairLundy.CliInvoke versions 2.0.0‑alpha.1 to 2.0.0. The flaw is patched in CliInvoke 2.8.5, 2.9.4, 2.10.5 and 3.0.0‑beta.2, and in AlastairLundy.CliInvoke 2.0.2. Applications that integrate these libraries and rely on shell runners are at risk if they supply untrusted arguments.

Risk and Exploitability

The CVSS score of 8.4 indicates a high severity vulnerability. No EPSS score is available, but the lack of a CISA KEV entry suggests that exploitation has not yet been verified in the wild. The flaw can be exploited by any code that feeds untrusted input into the vulnerable factories, and because shell runners are required for the payload to be executed, the attack vector is likely application‑level with the attacker controlling the arguments. External input that contains double quotes or shell metacharacters can trigger unintended command execution, potentially giving attackers full control of the process host. Given the high CVSS and the potential for arbitrary code execution in environments that use these libraries, the risk remains significant for affected deployments.

Generated by OpenCVE AI on September 25, 2026 at 21:42 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to the patched versions (CliInvoke 2.8.5 or newer, 2.9.4 or newer, 2.10.5 or newer, 3.0.0‑beta.2 or newer, or AlastairLundy.CliInvoke 2.0.2).
  • Avoid using shell runners when invoking processes with this library; instead, use the ProcessConfiguration with explicit ArgumentList to bypass the vulnerable factory.
  • If upgrading or changing runners is not immediately possible, sanitize all target and argument strings by removing double quotes and shell metacharacters before passing them to the library.

Generated by OpenCVE AI on September 25, 2026 at 21:42 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-j73w-8hfr-4gc9 CliInvoke: Argument Injection in Extensibility Runner Factory
History

Mon, 28 Sep 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Sat, 26 Sep 2026 23:00:00 +0000

Type Values Removed Values Added
First Time appeared Alastairlundy
Alastairlundy alastairlundy.cliinvoke
Alastairlundy cliinvoke
Vendors & Products Alastairlundy
Alastairlundy alastairlundy.cliinvoke
Alastairlundy cliinvoke

Fri, 25 Sep 2026 20:45:00 +0000

Type Values Removed Values Added
Description CliInvoke and its formerly named `AlastairLundy.CliInvoke` package are .NET libraries for invoking command-line programs and wrapping executable processes. `CliInvoke` versions 2.0.0 through 2.8.4, 2.9.0 through 2.9.3, 2.10.0 through 2.10.4, and 3.0.0-alpha.1 through 3.0.0-beta.1, as well as `AlastairLundy.CliInvoke` versions 2.0.0-alpha.1 through 2.0.0, contain an argument-injection vulnerability in `RunnerProcessFactory` on the 2.x line and `RunnerConfigurationFactory` on the 3.x line. These factories combine runner arguments, a caller-controlled target, and caller-controlled arguments into one `ProcessStartInfo.Arguments` string, allowing a double quote in the target or an argument to terminate an operating-system-level quoted region and inject unintended elements into the runner’s argument vector, potentially resulting in arbitrary command execution when a shell runner is used. The vulnerability is patched in `CliInvoke` versions 2.8.5, 2.9.4, 2.10.5, and 3.0.0-beta.2, and in `AlastairLundy.CliInvoke` version 2.0.2. No complete workaround is available; users unable to upgrade can partially mitigate the issue by removing double quotes from targets and arguments, additionally removing shell metacharacters when using shell runners, or bypassing the vulnerable factory and constructing a `ProcessConfiguration` with an explicit `ArgumentList`.
Title CliInvoke: Argument Injection in Extensibility Runner Factory
Weaknesses CWE-88
References
Metrics cvssV3_1

{'score': 8.4, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

Alastairlundy Alastairlundy.cliinvoke Cliinvoke
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-28T13:42:58.777Z

Reserved: 2026-09-25T19:19:54.698Z

Link: CVE-2026-100369

cve-icon Vulnrichment

Updated: 2026-09-28T13:42:55.386Z

cve-icon NVD

Status : Deferred

Published: 2026-09-25T21:17:21.247

Modified: 2026-09-30T19:57:08.043

Link: CVE-2026-100369

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-26T22:18:49Z

Weaknesses
  • CWE-88

    Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')