Malware discovered in JavaScript Library accessed by millions each week

A popular JavaScript library used by major global technology firms has been targeted by hackers to spread malware and install password stealers and cryptocurrency miners on victims’ machines.

The UAParser.js JavaScript library, which is accessed more than 7 million times per week, is used to detect small-footprint User-Agent data, such as a visitor’s browser and OS, and is known to be used by the likes of Facebook, Microsoft, Amazon, Reddit and many more tech giants.

The hijack of the package, which reportedly took place on 22 October, saw a threat actor publish malicious versions of UAParser.js library to target Linux and Windows machines.

If downloaded to a victims machine, the malicious package could have allowed hackers to obtain sensitive information or take control of their system, according to an alert issued by the US Cybersecurity and Infrastructure Security Agency (CISA) on Friday.

The threat actor gained access to the developer’s account and used it to distribute the infected versions, according to the package’s author Faisal Salman, in a discussion held on GitHub.

Apologising for the circumstances, Salman said: “I noticed something unusual when my email was suddenly flooded by spams from hundreds of websites. 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.”

Once he identified the infected versions, Salman flagged each one for containing malware and removed them from the platform.

One affected user analysed the compromised packages and discovered a script that attempted to export their OS credentials and a copy of their Chrome Browser’s cookies DB file.

Further analysis by Sonatype, as seen by Bleeping Computer, shows that the malicious code will check the OS used on a victim’s device and, depending on the OS used, launch a Linux shell script or Windows batch file.

The package would initiate a preinstall.sh script to check Linux devices if the user was located in Russia, Ukraine, Belarus, and Kazakhstan. If the device was located elsewhere, the script would download an XMRig Monero cryptocurrency miner designed to use 50% of a victim’s CPU power to avoid detection.

For Windows users, the same Monero miner would be installed in addition to a password-stealing trojan, which Sonatype speculates to be DanaBot – a banking trojan used by organised crime groups.

Further analysis also showed that the password stealer also attempted to steal passwords from the Windows credential manager using a PowerShell script.

Users of the UAParser.js library are advised to check the version used in their projects and upgrade to the latest version, which is free of the malicious code.

In the same week, Sonatype also discovered three more libraries containing similar code, again targeting Linux and Windows machines with cryptocurrency miners.

Featured Resources

Next-generation time series: Forecasting for the real world, not the ideal world

Solve time series problems with AI

Free download

The future of productivity

Driving your business forward with Microsoft Office 365

Free download

How to plan for endpoint security against ever-evolving cyber threats

Safeguard your devices, data, and reputation

Free download

A quantitative comparison of UPS monitoring and servicing approaches across edge environments

Effective UPS fleet management

Free download