<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Alastair Lundy - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/alastair-lundy/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Sat, 26 Sep 2026 02:07:19 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/alastair-lundy/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Argument Injection in CliInvoke Extensibility Runner Factory</title><link>https://feed.craftedsignal.io/briefs/2026-09-cliinvoke-argument-injection/</link><pubDate>Sat, 26 Sep 2026 02:07:19 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-09-cliinvoke-argument-injection/</guid><description>The CliInvoke NuGet package is vulnerable to argument injection due to improper sanitization when constructing process arguments, potentially allowing attackers to execute arbitrary commands by manipulating command-line tokens.</description><content:encoded><![CDATA[<p>The CliInvoke package, used for extensibility and runner management, contains an argument-injection vulnerability (CVE-2026-100369) within its process factory components, specifically the <code>RunnerProcessFactory</code> (2.x versions) and the <code>RunnerConfigurationFactory</code> (3.x versions). The vulnerability stems from the way these factories join runner arguments, targets, and caller arguments into a single string for <code>ProcessStartInfo.Arguments</code>.</p>
<p>When this string is passed to the operating system, the command-line parser re-tokenizes it. Because the library fails to sanitize input, an attacker can embed double quotes (<code>&quot;</code>) into a target or argument to close the intended quoted region prematurely. This allows subsequent characters to be interpreted by the OS as separate command-line arguments, potentially resulting in arbitrary command execution. This flaw affects multiple versions of <code>CliInvoke</code> and <code>AlastairLundy.CliInvoke</code>. Defenders should prioritize upgrading to the patched versions specified in the remediation section.</p>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows for argument injection, which can be leveraged to execute arbitrary commands or manipulate program flow within the context of the calling application. This vulnerability impacts any application using the affected <code>CliInvoke</code> libraries to execute external processes with user-supplied input. There are currently no reports of widespread in-the-wild exploitation, but the ease of triggering this via malicious input makes it a significant risk for enterprise applications utilizing this library.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade the <code>CliInvoke</code> package to the patched versions immediately: 2.8.5, 2.9.4, 2.10.5, or 3.0.0-beta.2.</li>
<li>Audit applications utilizing <code>CliInvoke</code> for user-controllable input that is passed to the <code>RunnerProcessFactory</code> or <code>RunnerConfigurationFactory</code>.</li>
<li>As a temporary mitigation, implement strict input validation to strip double quotes (<code>&quot;</code>) from all target and argument strings before they are passed to the factory.</li>
<li>If using shell runners, also strip common shell meta-characters including <code>;</code>, <code>|</code>, <code>&amp;</code>, <code>$</code>, backticks, and parentheses.</li>
<li>Transition to building <code>ProcessConfiguration</code> objects directly by setting <code>ArgumentList</code> explicitly, which avoids the flawed string concatenation approach used by the factory.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">threat</category></item></channel></rss>