Malicious code in request-easy-validator (npm)
MAL-2026-2798 · GHSA-6h5g-9vvm-x5jj
Published · Modified
Dependency scanning
Check whether request-easy-validator is in your codebase
Corgea flags malicious and compromised dependencies with reachability analysis, so you fix the packages that actually run in your application instead of working through the whole lockfile.
Description
__
Source: amazon-inspector (59057b0a6f845ac1e8bfa571c4e26295e469abdd5c6faa2e68007ef78816ec9b)
request-easy-validator impersonates the popular request package (cloned README, bugs URL points at github.com/request/request, source is a fork of request) and ships a hidden remote-code-execution dropper. index.js exports a middleware function (also exposed as default, .reqValidator, and .request) that, on any invocation by the consumer, spawns a detached node lib/callers.js child with stdio: 'ignore' and child.unref() to hide it from the parent process. lib/callers.js then issues an HTTPS GET to https://jsonkeeper.com/b/PWEH9 (an anonymous, mutable, attacker-controlled paste host) with header x-secret-key: _, takes the .Cookie field from the response, and passes it to new Function.constructor('require', s) invoked with the live require — granting the paste-host operator arbitrary Node.js code execution with full module access on any server using this package. The payload URL is mutable, so the attacker can change the executed code at any time without republishing the package.
Ready to move
Start Securing
Free, no credit card | First findings in minutes