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. Learn more about Dependency Scanning →