<?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/"><channel><title>Networkmanager — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/networkmanager/</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>Wed, 13 May 2026 15:30:15 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/networkmanager/feed.xml" rel="self" type="application/rss+xml"/><item><title>Systeminformation Library Vulnerable to Command Injection via NetworkManager Profile Name</title><link>https://feed.craftedsignal.io/briefs/2026-05-systeminformation-nm-injection/</link><pubDate>Wed, 13 May 2026 15:30:15 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-systeminformation-nm-injection/</guid><description>The systeminformation library is vulnerable to command injection on Linux systems due to unsanitized NetworkManager connection profile names, allowing attackers to execute arbitrary shell commands via a crafted profile when `networkInterfaces()` is called.</description><content:encoded><![CDATA[<p>The <code>systeminformation</code> library is vulnerable to a command injection flaw affecting Linux systems. The vulnerability exists within the <code>networkInterfaces()</code> function, specifically when handling active NetworkManager connection profile names. If a NetworkManager connection profile name contains shell metacharacters, the library fails to sanitize the input before using it in shell commands. This allows an attacker who can create or rename an active NetworkManager connection profile to inject and execute arbitrary shell commands with the privileges of the Node.js process using the <code>systeminformation</code> library. This vulnerability was validated against real NetworkManager and nmcli. Successful exploitation allows for local privilege escalation if the Node.js process is running with elevated privileges.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker creates or modifies a NetworkManager connection profile with a malicious name containing shell metacharacters (e.g., <code>name$(...)</code>, <code>name&quot;; ...; #</code>).</li>
<li>The crafted NetworkManager profile is activated via <code>nmcli connection up &lt;malicious_profile_name&gt;</code>.</li>
<li>A Node.js application uses the <code>systeminformation</code> library and calls the <code>networkInterfaces()</code> function.</li>
<li><code>networkInterfaces()</code> executes <code>nmcli device status</code> to retrieve network interface information, including the connection name.</li>
<li>The library parses the <code>connectionName</code> from the output of <code>nmcli device status</code> without proper sanitization.</li>
<li>The unsanitized <code>connectionName</code> is interpolated into shell commands executed via <code>execSync()</code> in <code>getLinuxIfaceDHCPstatus()</code>, <code>getLinuxIfaceDNSsuffix()</code>, and <code>getLinuxIfaceIEEE8021xAuth()</code>.</li>
<li>The injected shell commands are executed with the privileges of the Node.js process.</li>
<li>The attacker achieves arbitrary command execution on the system.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an attacker to execute arbitrary commands on the target system with the privileges of the Node.js process using the <code>systeminformation</code> library. This could lead to local privilege escalation if the Node.js process is running with elevated privileges. Affected deployments include local inventory agents, monitoring agents, diagnostics tools, admin dashboard backends collecting host information, and privileged local desktop or device-management agents. If such a process runs with elevated privileges, the injected command executes with those same elevated privileges.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Implement input sanitization or, preferably, avoid shell interpolation entirely by using <code>execFileSync()</code> or <code>spawnSync()</code> with argument arrays as recommended in the advisory. This mitigates the command injection vulnerability in <code>lib/network.js</code> (specifically lines 620, 660, and 676).</li>
<li>Monitor for suspicious NetworkManager connection profile modifications, specifically looking for profile names containing shell metacharacters as part of a broader strategy to detect command injection attempts.</li>
<li>Deploy the provided Sigma rules to detect exploitation attempts by monitoring for <code>nmcli</code> commands with connection names containing shell metacharacters in process execution logs.</li>
<li>Audit Node.js applications using <code>systeminformation</code> on Linux systems and prioritize patching or implementing the suggested mitigations.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>command-injection</category><category>linux</category><category>networkmanager</category></item></channel></rss>