Skip to main content
VulnerabilityPublished

CVE-2025-59141: Qix- node-simple-swizzle · Embedded Malicious Code

Affects Qix- node-simple-swizzleSource CVE Database V5

0

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

CVSS 4.0 base score
8.8High
How severe the flaw is on the 0–10 CVSS scale.
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:Red

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 15 Sep 2025

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponised: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq 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

ProductAffectedFixed in
Qix- node-simple-swizzleAffected
  • =0.2.3
Fixed in–

AI-suggested

  1. Immediately update 'node-simple-swizzle' to version 0.2.4 or later to obtain the patched, clean version.
  2. Completely remove the node_modules directory and clear all package manager caches (npm, yarn, pnpm) to eliminate cached compromised packages.
  3. Rebuild all browser bundles from scratch, ensuring that bundlers like Babel, Rollup, Vite, or Next.js do not include the malicious code.
  4. 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.
  5. For organizations using private npm registries or mirrors, purge all cached instances of version 0.2.3 to prevent accidental distribution.
  6. Implement multi-factor authentication (MFA) and phishing-resistant security measures on all developer and maintainer accounts to prevent future account takeovers.
  7. Integrate software supply chain security tools such as Snyk, Dependabot, or GitHub Dependabot alerts to detect and respond rapidly to compromised dependencies.
  8. Educate development teams on the risks of supply chain attacks and enforce strict code review and dependency vetting processes.
  9. Monitor blockchain transactions associated with organizational wallets for unusual redirections or anomalies.
  10. 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

Community reviews

Loading reviews…