Supply-chain threat intelligence

Incident detail

criticalnpm·obfuscation·osv

Malicious code in @vite-ts/vite-ui (npm)

@vite-ts/vite-ui

Risk score

92

AI summary

Indexed incident for @vite-ts/vite-ui (npm).

Description

Package @vite-ts/vite-ui@6.44.1 impersonates the legitimate vite package: it clones vite's README, declares author 'Evan You', homepage https://vitejs.dev, repository vitejs/vite, and a bin entry mapping vite to bin/vite.js. The shipped bin/vite.js contains an obfuscated IIFE that reconstructs a string table from a shuffled blob using the integer seed 4606094 to hide the strings 'https', 'child_process', 'eval', 'POST', '2.0', and the destination URLs. At runtime the payload issues an HTTPS GET to an Ethereum block-explorer URL and a JSON-RPC POST to an Ethereum node, XOR-decodes the hex result to retrieve JavaScript code from an attacker-controlled smart contract (EtherHiding pattern), and executes the retrieved code via eval(r) and via a detached child_process.spawn('node', ['-e',...+r], { detached: true, windowsHide: true }). The fetched bytes are not pinned, not signature-verified, and are mutable by the contract owner, so any consumer invoking the vite CLI from this package runs whatever code the attacker currently has staged on-chain. Additional install-time curl invocations and Buffer.from(...,'base64').toString() decode chains are present in the bundled dist files.

Technical details

Affected versions

=6.44.1

Indicators

  • affected version=6.44.175%

Timeline

  1. Advisory published
  2. Indexed by ThreatPkg

Related incidents