Critical Malicious Code Vulnerability in @ensdomains/mock Package
Summary
MAL-2025-190806: Malicious code in @ensdomains/mock (npm). Affects @ensdomains/mock versions 2.1.52. No fix is published. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
The @ensdomains/mock package is a Node.js library used primarily for simulating Ethereum Name Service (ENS) functionalities in a testing environment. It allows developers to create mock contracts and test their applications without interacting with the live blockchain. However, this package has been compromised, embedding malicious code that poses significant security risks to any system utilizing it.
Vulnerability Detail
The vulnerability originates from the malicious code embedded within version 2.1.52 of the @ensdomains/mock package. This code can fully compromise any computer that has the package installed, allowing unauthorized access to sensitive information such as secrets and keys. The ramifications of this vulnerability are severe, as it can lead to data breaches and loss of control over the affected systems. Users are advised to treat any system running this package as compromised.
How To Fix
This package is malicious. Remove it and rotate any credentials it could have accessed.
npm uninstall @ensdomains/mock
If it arrived as a transitive dependency, remove the package that pulled it in, then reinstall.
Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →
Workaround
As a workaround, if you need to continue development without the @ensdomains/mock package, consider using alternative mocking libraries or creating your own mock implementations that do not rely on this compromised package.
Conclusion
The @ensdomains/mock package has been compromised with malicious code, posing serious security risks to any system using it. Immediate action is required to uninstall the package and secure any sensitive information. Utilize tools like Vulert to monitor for vulnerabilities and ensure your applications remain secure.
See every vulnerability recorded for @ensdomains/mock →
FAQ
Immediately uninstall the package using 'npm uninstall @ensdomains/mock' and rotate any sensitive keys or secrets stored on the affected machine.
You can use Vulert, which monitors and alerts for open-source vulnerabilities in real-time. Visit Vulert Scanner to check your application without needing to sign up.
Failing to address this vulnerability can lead to unauthorized access to sensitive data, potential data breaches, and loss of control over your systems.
No, there is currently no patched version available. The only solution is to remove the package entirely.
It is highly discouraged to use @ensdomains/mock due to its malicious code. Consider using alternative libraries or creating your own mock implementations.