CVE-2025-59141 json
simple-swizzle@0.2.3 contains malware after npm account takeover
published 2025-09-15 13 mo ago modified 2026-06-17 4 mo ago also GHSA-9g9j-rggx-7fmg , GHSA-wwpx-h6g5-c7x6 , EUVD-2025-29228
- cvss
- 8.8
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 35%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- npm simple-swizzle 0.2.4
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2025-59141 updated
simple-swizzle: simple-swizzle@0.2.3 contains malware after npm account takeover
-
Red Hat Logging Subsystem for Red Hat OpenShift openshift-logging/vector-rhel9, openshift-logging/kibana6-rhel8, openshift-logging/eventrouter-rhel9, openshift-logging/cluster-logging-rhel9-operator, openshift-logging/log-file-metric-exporter-rhel9, openshift-logging/cluster-logging-operator-bundle Red Hat Migration Toolkit for Applications 8 mta/mta-ui-rhel9 Red Hat OpenShift Serverless openshift-serverless-1/kn-backstage-plugins-eventmesh-rhel8 Red Hat AMQ Broker 7 org.jolokia-jolokia-parent Red Hat Developer Hub 1 rhdh/rhdh-hub-rhel9 Red Hat Enterprise Linux 8 pcs, grafana, pcs-snmp, grafana-loki, grafana-mssql, grafana-mysql, +10 morenot affected: vulnerable code not present
+9 more productsfewer
Red Hat Enterprise Linux 9 pcs, grafana, pcs-snmp, grafana-selinux Red Hat Fuse 7 io.syndesis-syndesis-parent Red Hat JBoss Enterprise Application Platform 8 org.keycloak-keycloak-parent Red Hat JBoss Enterprise Application Platform Expansion Pack org.keycloak-keycloak-parent Red Hat OpenShift AI (RHOAI) rhoai/odh-dashboard-rhel8, rhoai/odh-dashboard-rhel9 Red Hat OpenShift GitOps openshift-gitops-1/dex-rhel8, openshift-gitops-1/argocd-rhel8, openshift-gitops-1/argocd-rhel9, openshift-gitops-1/gitops-rhel8, openshift-gitops-1/must-gather-rhel8, openshift-gitops-1/argocd-agent-rhel8, +5 more Red Hat Single Sign-On 7 org.keycloak-keycloak-parent Red Hat streams for Apache Kafka 2 com.github.streamshub-console Red Hat streams for Apache Kafka 3 com.github.streamshub-console
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 13 mo ago
Exploit prediction
0.41% chance of exploitation in the next 30 days, higher than 35% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.8 | 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 |
| CNA | 4.0 | 8.8 | 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/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:Red |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | simple-swizzle | >=0.2.3, <0.2.4 |
0.2.4 |
Affected products
- Qix- node-simple-swizzle
Classification
- Weakness
-
- CWE-506 Embedded Malicious Code
References
-
github.com
/Qix-/node-simple-swizzle/security/advisories/GHSA-9g9j-rggx-7fmg
web
-
github.com
/debug-js/debug/issues/1005
web
-
socket.dev
/blog/npm-author-qix-compromised-in-major-supply-chain-attack
web
-
aikido.dev
/blog/npm-debug-and-chalk-packages-compromised
web
-
ox.security
/blog/npm-packages-compromised
web
-
nvd.nist.gov
/vuln/detail/CVE-2025-59141
advisory
-
github.com
/Qix-/node-simple-swizzle
package
Sources
- CVE List CVE-2025-59141
- GitHub Advisory GHSA-9g9j-rggx-7fmg
- NVD CVE-2025-59141
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.