Actively exploited vulnerability
Npm package System Information Library for Node.JS: code execution flaw under attack
CVE-2021-21315 · System Information Library for Node.JS Command Injection
What is affected
Npm package System Information Library for Node.JS is mostly run by companies, schools and public bodies, not on home computers. You are unlikely to have it yourself, but organisations that hold your data may. Breaches that start with flaws like this one are how personal data ends up leaked.
In this vulnerability, an attacker can send a malicious payload that will exploit the name parameter. After successful exploitation, attackers can execute remote.
What an attacker can do
This is a code execution flaw. It lets an attacker run their own commands or programs on the affected system. In practice that usually means taking it over: installing malware, stealing data or using it to reach other devices on the same network.
- How it is reached
- Needs access to the device or a file opened on it
- Access the attacker needs
- A basic user account
- Does the victim have to do something?
- No, works without the victim doing anything
What to do
- At home: nothing to install. Keep your own devices updated and use a different password for every service, so that a breach at one organisation does not open your other accounts.
- If you administer Npm package System Information Library for Node.JS at work: apply the vendor's fix or mitigation now and review logs for signs of compromise, because the flaw was being exploited before it was listed.
- If the product is past its support date and no fix exists, take it off the internet or retire it.
Apply updates per vendor instructions.
How urgent is it
CISA added this vulnerability to its Known Exploited Vulnerabilities catalogue on January 18, 2022, which means there is reliable evidence of attacks in the wild. US federal agencies must fix it by February 1, 2022, a deadline that has already passed. That deadline does not bind anyone else, but it shows how seriously the agency rates it.
The EPSS model estimates a 91% probability that this flaw will be exploited somewhere in the next 30 days. That is higher than 99.8% of all scored vulnerabilities.
Its CVSS severity score is 7.8 out of 10 (high), as recorded in the US National Vulnerability Database.
Technical description
The System Information Library for Node.JS (npm package "systeminformation") is an open source collection of functions to retrieve detailed hardware, system and OS information. In systeminformation before version 5.3.1 there is a command injection vulnerability. Problem was fixed in version 5.3.1. As a workaround instead of upgrading, be sure to check or sanitize service parameters that are passed to si.inetLatency(), si.inetChecksite(), si.services(), si.processLoad() ... do only allow strings, reject any arrays. String sanitation works as expected.