CRITICAL npm Malware

Malicious code in devplatform-spa-plugin-router (npm)

MAL-2026-12777 · GHSA-cc39-2v78-m372

Published · Modified

Dependency scanning

Check whether devplatform-spa-plugin-router 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 (a773f8568cf461dcddc59764fbdccd1c2427e32e76de70aeeb3b205190d15d08)

On require() of the package, index.js loads./ext.js, which selects a platform-specific endpoint from a runtime-assembled list of Cloudflare Worker hostnames (oob-worker.cf99-9b3.workers.dev, oob-worker.cf100-416.workers.dev, oob-worker.cf101-adf.workers.dev, oob-worker.cf102-baf.workers.dev) with a DNS-TXT fallback under *.dl.wel1.ru. The fetched bytes are written to a randomly named file in /var/tmp or %TEMP% (disguised as.cache on Unix or dotnet_diag_.exe on Windows), chmodded to 0755, and spawned detached via /bin/sh -c or cmd.exe. Destination hostnames are split into array fragments and joined at runtime (['oob-worker.cf99','-9b3.workers','.de','v'].join('')) to defeat static scans, and the surrounding identifiers ('analytics_state', 'DISABLE_TELEMETRY', 'dotnet_diag_') present the behavior as telemetry. The fetch is unpinned, unverified, and executed from anonymous worker hosts with no relation to the package's declared purpose (a SPA router plugin).

Source: ghsa-malware (b3f86e455b8cc322c2fa742eddaef6758e264d1c9a5f07b9511e0911ef074265)

Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.

Ready to move

Start Securing

Free, no credit card | First findings in minutes