CVE-2026-50289: systeminformation: OS command injection in networkInterfaces() via interfaces(5) source-directive path on Linux
On Linux, systeminformation’s networkInterfaces() is vulnerable to OS command injection through the Debian/Ubuntu interfaces(5) source directive. While collecting per-interface DHCP state, the library reads /etc/network/interfaces and, for every source <path> line it encounters, extracts the path token from the file content and interpolates it unquoted into a shell command string that is run via execSync(). A source line whose path contains shell metacharacters executes arbitrary commands with the privileges of the calling Node.js process.
This is the same root-cause class as the previously-fixed NetworkManager-connection-name injection in this file: a value parsed out of local system state is re-interpolated into a shell command string without sanitization. The NetworkManager paths were converted to argument-array execution, but the interfaces(5) source-recursion sink in checkLinuxDCHPInterfaces() was left unfixed and still builds a shell string. The input to this sink is unsanitized (unlike the iface/connectionName paths, which pass through util.sanitizeString in strict mode before reaching their commands).
References
- github.com/advisories/GHSA-5xpp-75jx-m839
- github.com/sebhildebrandt/systeminformation/commit/bbfddde48672d0ee124fefdb3cb4442fd9dd4f03
- github.com/sebhildebrandt/systeminformation/releases/tag/v5.31.7
- github.com/sebhildebrandt/systeminformation/security/advisories/GHSA-5xpp-75jx-m839
- nvd.nist.gov/vuln/detail/CVE-2026-50289
Code Behaviors & Features
Detect and mitigate CVE-2026-50289 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →