The hack, which raised eyebrows because of the software supply chain implications, prompted a “critical severity” warning from GitHub that any computer with the embedded npm package “should be considered fully compromised.”
“The npm package ua-parser-js had three versions published with malicious code. Users of affected versions (0.7.29, 0.8.0, 1.0.0) should upgrade as soon as possible and check their systems for suspicious activity,” GitHub said in an advisory.
“Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer,” GitHub warned.
“The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it,” the company added.
The problematic UAParser.js library is very popular, counting close to 8 million weekly downloads with some of tech’s most recognizable names — Microsoft, Amazon, Facebook,Apple and Oracle — listed among its users.
The issue first surfaced Friday evening when the package developer noticed unusual email activity that led to the discovery of the embedded malware. “I believe someone was hijacking my npm account and published some compromised packages (0.7.29, 0.8.0, 1.0.0) which will probably install malware,” the developer explained.
The urgency of the issue was magnified when the U.S. government’s cybersecurity agency CISA issued its own “patch immediately” alert.
From the CISA advisory:
“Versions of a popular NPM package named ua-parser-js was found to contain malicious code. ua-parser-js is used in apps and websites to discover the type of device or browser a person is using from User-Agent data. A computer or device with the affected software installed or running could allow a remote attacker to obtain sensitive information or take control of the system.”
The agency is strongly urging users and administrators using compromised ua-parser-js versions 0.7.29, 0.8.0, and 1.0.0 to update to the respective patched versions: 0.7.30, 0.8.1, 1.0.1 immediately.