Malicious code in table-ui-new (npm)
table-ui-new@2.7.4 on npm contains malicious code in dist/config.js that fetches and executes remote JavaScript from an attacker-controlled Vercel host when the package's `./config` subpath export is imported.
- Disclosed
- Last updated
- Blast radius
- Any application importing the `table-ui-new/config` subpath export; execution occurs in the consumer's Node process with full host privileges.
- Ecosystems
- Attack vectors
- Affected entities
- table-ui-new · 2.7.4
The npm package table-ui-new version 2.7.4 ships a malicious dist/config.js file exposed via the package.json ./config subpath export. This file exports a module-level array named HASHES containing four base64-encoded strings that decode to immediately-invoked function expressions (IIFEs).
Each IIFE performs an unconditional fetch from https://everydaynodechecker-39147n.vercel.app/api/key?mem=root[0-3] followed by eval() of the response text. The misleading variable name HASHES disguises these executable payloads as inert hash data.
The main entry point (dist/index.js) is a legitimate React hooks module and does not itself invoke these payloads. However, any consumer that imports table-ui-new/config receives the array of ready-to-eval remote-fetch IIFEs. The destination host is unrelated to the package's stated purpose as a React table UI library and returns attacker-controlled JavaScript that executes in the consumer's Node process with full host privileges.
The incident was identified and credited to the OpenSSF malicious-packages project.
Indicators of compromise
- Packages
- table-ui-new
- Domains
- everydaynodechecker-39147n.vercel.app
Remediation
- Immediately remove or upgrade table-ui-new from all projects; do not use version 2.7.4 or any version that includes the malicious dist/config.js
- Audit all imports of `table-ui-new/config` in your codebase and remove them
- Review application logs and host activity for the time period when the malicious package was installed to detect any unauthorized remote code execution
- Rotate credentials and secrets that may have been exposed during the compromise window
- Consider using npm audit or similar tools to identify other potentially compromised dependencies
Sources
- GitHub Advisory GHSA-q6w5-mpgv-mc26 · GitHub Advisory Database
Cite this entry
"Malicious code in table-ui-new (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 19, 2026; last updated August 19, 2026. https://supplychainattack.org/incident/malicious-code-in-table-ui-new-npm-18z5yb
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- containedcritical
Malicious code in 3-buildsight-web (npm)
The npm package 3-buildsight-web contains malicious code that fetches and executes arbitrary JavaScript from a remote Bitbucket URL on module load, granting full page privileges to an unverified third party.
npmCompromised package - resolvedcritical
Malicious code in @usaa-grp-personal-profile/personal-profile-common (npm)
Malicious package @usaa-grp-personal-profile/personal-profile-common version 999.0.0 published to public npm as a dependency-confusion attack targeting an organization's internal registry. The package contains preinstall and postinstall hooks that exfiltrate hostname, username, and working directory to an attacker-controlled OAST endpoint on every install.
npmDependency confusionCompromised package - resolvedcritical
Malicious code in create-coin (npm)
create-coin@20.1.1 on npm contained malicious postinstall code that collected sensitive environment variables, credentials, and host reconnaissance data. The package impersonated an esbuild platform build and exfiltrated data to a hardcoded endpoint.
npmCompromised packageTyposquatting - resolvedcritical
Malicious code in @syncraft-labs/vue (npm)
The npm package @syncraft-labs/vue version 0.4.1 contained malicious obfuscated code in its ESM build that implements a blockchain-hosted C2 dropper (EtherHiding pattern), enabling remote code execution on any consumer importing the package.
npmCompromised package