LWA-2026-7457 MAL-2026-12189 ↗ confirmed malware

react-scroll-disable@2.5.2

Malicious code in react-scroll-disable (npm)

T1195.002 · Compromise Software Supply ChainT1059.007 · JavaScriptT1105 · Ingress Tool TransferT1071.001 · Web ProtocolsT1573 · Encrypted ChannelT1082 · System Information Discovery

Analysis

A combosquat of the legitimate react-remove-scroll package. The dist/index.js files (es5, es2015, es2019) each append an eval(atob(...)) payload after the legitimate export. The payload queries Ethereum JSON-RPC endpoints (1rpc[.]io, eth[.]drpc[.]org, ethereum-rpc[.]publicnode[.]com, eth-mainnet[.]public[.]blastapi[.]io) to find the latest block, then searches for a transaction from a hardcoded wallet address. The recipient address from that transaction is split into two IPv4 addresses that become the C2 servers. The implant then makes XOR-encrypted HTTP requests to those C2 IPs on ports 80 and 443, fetching second-stage payloads. One request path (/0x/cls) evals the decrypted response inline; another (/0x/ls) spawns a detached node process to run the decrypted payload. The C2 communication uses XOR encryption with a key derived from the transaction data, and responses carry base64-encoded payloads in the x-payload-b64 header.

analyzed by
Leitwacht
first seen
Aug 2, 2026, 03:25 PM
analyzed
Aug 2, 2026, 03:31 PM

Related advisories

browse all confirmed advisories →

Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.