Skip to content
Heist/ feed
Back to feed
High

CliInvoke: Argument Injection in Extensibility Runner Factory

Type: advisorySources: OSV

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`.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-100369
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 18:38 UTC · Revision 1

Source evidence

CliInvoke: Argument Injection in Extensibility Runner Factory

core-osv · Original source

Published 25 Sept 2026, 20:26 UTC

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`.

osv:CVE-2026-100369
Complete source record
{
  "id": "b543b7300450a94fa46fc3e0ae60fc8fedd6f79f28376627dba33041d21abdbb",
  "url": "https://osv.dev/vulnerability/CVE-2026-100369",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CliInvoke: Argument Injection in Extensibility Runner Factory",
    "summary": "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`.",
    "evidence": "osv:CVE-2026-100369",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-100369",
      "aliases": [
        "CVE-2026-100369",
        "GHSA-j73w-8hfr-4gc9"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/alastairlundy/cliinvoke",
              "type": "GIT",
              "events": [
                {
                  "introduced": "165762276779a022d1204945b4c97ff48e1cfc0b"
                },
                {
                  "last_affected": "8303f7f1fdb245ce249c64c8eb5bd78338d67596"
                },
                {
                  "introduced": "9dc281511887eb171659bcbd577e31ab3df12ead"
                },
                {
                  "last_affected": "875d729453f182dd63c068520730652737d9c344"
                },
                {
                  "introduced": "f8bb45bf8fa77e5fa0b89d2acdec4c4e345f3b27"
                },
                {
                  "last_affected": "12156ec32864959268e16233f924136e9bd2f028"
                },
                {
                  "introduced": "5914045758b5cedc8f0b75b6a66e9a5f7b2ba13a"
                },
                {
                  "last_affected": "b17efc5cc01475d891580434548b714001682e98"
                },
                {
                  "introduced": "abd959a06fb4f64b87611ae67dd296f63b1d0153"
                },
                {
                  "last_affected": "165762276779a022d1204945b4c97ff48e1cfc0b"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "2.0.0"
                      },
                      {
                        "last_affected": "2.8.4"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "2.9.0"
                      },
                      {
                        "last_affected": "2.9.3"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "2.10.0"
                      },
                      {
                        "last_affected": "2.10.4"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "3.0.0-alpha.1"
                      },
                      {
                        "last_affected": "3.0.0-beta.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "2.0.0-alpha.1"
                      },
                      {
                        "last_affected": "2.0.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  }
                ]
              }
            }
          ],
          "versions": [
            "3.0.0-beta.1",
            "2.9.3",
            "2.10.4",
            "2.9.2",
            "2.10.3",
            "3.0.0-alpha.10",
            "3.0.0-alpha.9",
            "2.10.2",
            "2.9.1",
            "3.0.0-alpha.8",
            "2.10.1",
            "2.9.0",
            "2.10.0",
            "3.0.0-alpha.7",
            "3.0.0-alpha.6",
            "3.0.0-alpha.5",
            "3.0.0-alpha.4",
            "3.0.0-alpha.3",
            "3.0.0-alpha.2",
            "3.0.0-alpha.1",
            "2.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-100369.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:22.415569793Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/100xxx/CVE-2026-100369.json",
        "https://github.com/alastairlundy/CliInvoke/security/advisories/GHSA-j73w-8hfr-4gc9",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-100369"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-88"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/100xxx/CVE-2026-100369.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-100369",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 488652,
  "published_at": "2026-09-25T20:26:51.352+00:00"
}