MAL-2026-5527 Malicious code in check-error-util (npm)

Malicious package Published
Package
check-error-util
Registry
npm

What is MAL-2026-5527?

MAL-2026-5527 is a malicious package in check-error-util, published on 10 Jun 2026.

Official description

On require/import, index.js executes a top-level resolveConfig() that reconstructs a URL from an XOR-obfuscated integer array, AES-256-CBC-decrypts it, fetches the URL over HTTPS, and runs the JSON cookie field of the response as JavaScript via new Function(&#39;require&#39;, cookie)(require). This grants an attacker arbitrary Node code execution with full require access on any machine that loads the package. The URL is hidden behind a layered XOR + AES blob (getHashAddress → Buffer.from(…,'hex') → createDecipheriv('aes-256-cbc', key, iv)) with cover-story comments ('S-box substitution', 'address pipeline', 'service layer hydration') intended to evade static review — there is no legitimate reason for an error-comparison utility to ship encrypted remote URLs. The package also impersonates the legitimate chaijs check-error library: package.json copies the upstream author Jake Luer <[email protected]>, the chaijs contributor list, and a repository URL pointing at chaijs/check-error, while the published name is check-error-util and the upstream loader code is absent from the real package.

What should I do about MAL-2026-5527?

Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.

Sources

Is MAL-2026-5527 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free