CVE-2025-59141: Qix- node-simple-swizzle · Embedded Malicious Code
Affects Qix- node-simple-swizzleSource CVE Database V5
Not known to be exploited · CVSS 8.8 High · fixed in 0.2.4 : patch Qix- node-simple-swizzle soon.
Data as of 26 Oct 2026, 12:55 UTC
- EPSS
- 0.4% chance of exploitation in 30 days – higher than 34% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 0.2.4
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N/E:A/U:RedExploitation evidence
Disclosed: evidence found.
CVE published 15 Sep 2025
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| Qix- node-simple-swizzle | Affected
| Fixed in– |
AI-suggested
- Immediately update 'node-simple-swizzle' to version 0.2.4 or later to obtain the patched, clean version.
- Completely remove the node_modules directory and clear all package manager caches (npm, yarn, pnpm) to eliminate cached compromised packages.
- Rebuild all browser bundles from scratch, ensuring that bundlers like Babel, Rollup, Vite, or Next.js do not include the malicious code.
- Audit all front-end projects to identify any usage of 'node-simple-swizzle' in browser contexts and verify that no compromised versions remain in production.
- For organizations using private npm registries or mirrors, purge all cached instances of version 0.2.3 to prevent accidental distribution.
- Implement multi-factor authentication (MFA) and phishing-resistant security measures on all developer and maintainer accounts to prevent future account takeovers.
- Integrate software supply chain security tools such as Snyk, Dependabot, or GitHub Dependabot alerts to detect and respond rapidly to compromised dependencies.
- Educate development teams on the risks of supply chain attacks and enforce strict code review and dependency vetting processes.
- Monitor blockchain transactions associated with organizational wallets for unusual redirections or anomalies.
- Consider isolating cryptocurrency wallet interactions to dedicated, hardened environments to reduce exposure.
Description
simple-swizzle swizzles function arguments. On 8 September 2025, the npm publishing account for simple-swizzle was taken over after a phishing attack. Version 0.2.3 was published, functionally identical to the previous patch version, but with a malware payload added attempting to redirect cryptocurrency transactions to the attacker's own addresses from within browser environments. Local environments, server environments, command line applications, etc.are not affected. If the package was used in a browser context (e.g.a direct <script> inclusion, or via a bundling tool such as Babel, Rollup, Vite, Next.js, etc.) there is a chance the malware still exists and such bundles will need to be rebuilt. The malware seemingly only targets cryptocurrency transactions and wallets such as MetaMask.npm removed the offending package from the registry over the course of the day on 8 September, preventing further downloads from npm proper. On 13 September, the package owner published new patch versions to help cache-bust those using private registries who might still have the compromised version cached. Users should update to the latest patch version, completely remove their node_modules directory, clean their package manager's global cache, and rebuild any browser bundles from scratch. Those operating private registries or registry mirrors should purge the offending versions from any caches. This issue is resolved in 0.2.4.
References
- github.com/Qix-/node-simple-swizzle/security/advisories/GHSA-9g9j-rggx-7fmg (opens in a new tab)
- github.com/debug-js/debug/issues/1005 (opens in a new tab)
- socket.dev/blog/npm-author-qix-compromised-in-major-supply-chain-attack (opens in a new tab)
- aikido.dev/blog/npm-debug-and-chalk-packages-compromised (opens in a new tab)
- ox.security/blog/npm-packages-compromised (opens in a new tab)