# chalk, debug and 16 other npm packages (2B+ weekly downloads) hijacked via fake 2FA email · pwn.watch > Maintainer Josh Junon (qix) was phished by a fake npm 2FA-reset email from npmjs.help. The attacker published malicious versions of 18 packages, including chalk, debug, ansi-styles and strip-ansi, with code that hijacked crypto wallet transactions in browsers. They were live for about two hours. Page: https://pwn.watch/i/chalk-debug-npm-hijack-september-2025 · generated 2026-10-22T20:45:43.249Z ## Status - Severity: critical · status: closed · patch: patched - Product: npm: chalk, debug, ansi-styles, strip-ansi, supports-color and 13 more - Started: 2025-09-08 · closed: 2025-09-13 - Affected: chalk 5.6.1; debug 4.4.2; ansi-styles 6.2.2; strip-ansi 7.1.1; supports-color 10.2.1; ansi-regex 6.2.1; wrap-ansi 9.0.1; slice-ansi 7.1.1; has-ansi 6.0.1; chalk-template 1.1.1; supports-hyperlinks 4.1.1; others: see debug-js/debug#1005 - Fixed in: chalk 5.6.2; ansi-styles 6.2.3; strip-ansi 7.1.2; supports-color 10.2.2; ansi-regex 6.2.2; wrap-ansi 9.0.2; slice-ansi 7.1.2; has-ansi 6.0.2; chalk-template 1.1.2; supports-hyperlinks 4.1.2; debug and others: republished by the maintainer on 2025-09-13 ## Follow this incident - RSS (one item per update): https://pwn.watch/i/chalk-debug-npm-hijack-september-2025/feed.xml - JSON Feed: https://pwn.watch/i/chalk-debug-npm-hijack-september-2025/feed.json - Full data (timeline, sources, posts, agentBrief): https://pwn.watch/i/chalk-debug-npm-hijack-september-2025.json - This file: https://pwn.watch/i/chalk-debug-npm-hijack-september-2025/llms.txt ## Updates (newest first) - 2025-09-15: Initial CVEs posted (https://github.com/debug-js/debug/issues/1005) - 2025-09-13: All remaining affected packages republished by the maintainer (https://github.com/debug-js/debug/issues/1005) - 2025-09-08: Malicious versions start appearing on npm (13:16 UTC) (https://www.aikido.dev/blog/npm-debug-and-chalk-packages-compromised) - 2025-09-08: Sindre Sorhus publishes clean chalk-family versions over the compromised ones (https://github.com/chalk/chalk/issues/656) - 2025-09-08: npm takes down all impacted versions (21:59 CEST); maintainer account restored (23:48 CEST) (https://github.com/debug-js/debug/issues/1005) ## Fix brief # Security brief: chalk, debug and 16 other npm packages (2B+ weekly downloads) hijacked via fake 2FA email Source: https://pwn.watch/i/chalk-debug-npm-hijack-september-2025 · status: closed (closed Sep 13, 2025) · severity: critical · updated Sep 15, 2025 ## Patch status **PATCHED: fixed releases exist. Upgrade to a fixed version.** ## What it is Maintainer Josh Junon (qix) was phished by a fake npm 2FA-reset email from npmjs.help. The attacker published malicious versions of 18 packages, including chalk, debug, ansi-styles and strip-ansi, with code that hijacked crypto wallet transactions in browsers. They were live for about two hours. Severity detail: Supply-chain compromise of packages with 2B+ weekly downloads (crypto-drainer payload) - Product: npm: chalk, debug, ansi-styles, strip-ansi, supports-color and 13 more ## Affected versions - chalk 5.6.1 - debug 4.4.2 - ansi-styles 6.2.2 - strip-ansi 7.1.1 - supports-color 10.2.1 - ansi-regex 6.2.1 - wrap-ansi 9.0.1 - slice-ansi 7.1.1 - has-ansi 6.0.1 - chalk-template 1.1.1 - supports-hyperlinks 4.1.1 - others: see debug-js/debug#1005 ## Check whether you're affected No generic command applies (the product is a hosted service, appliance or desktop app). Check the installed version in its admin UI / About screen and compare with the versions above. ## Fix Upgrade to one of these fixed versions (or later on the same branch): - chalk 5.6.2 - ansi-styles 6.2.3 - strip-ansi 7.1.2 - supports-color 10.2.2 - ansi-regex 6.2.2 - wrap-ansi 9.0.2 - slice-ansi 7.1.2 - has-ansi 6.0.2 - chalk-template 1.1.2 - supports-hyperlinks 4.1.2 - debug and others: republished by the maintainer on 2025-09-13 After upgrading, re-run the checks above and redeploy/restart the affected services. ## Latest updates - Sep 15, 2025: Initial CVEs posted - Sep 13, 2025: All remaining affected packages republished by the maintainer - Sep 8, 2025: Malicious versions start appearing on npm (13:16 UTC) - Sep 8, 2025: Sindre Sorhus publishes clean chalk-family versions over the compromised ones - Sep 8, 2025: npm takes down all impacted versions (21:59 CEST); maintainer account restored (23:48 CEST) ## Write-ups & news - [Version 5.6.1 published to npm is compromised (chalk#656)](https://github.com/chalk/chalk/issues/656) - [Version 4.4.2 published to npm is compromised (debug#1005)](https://github.com/debug-js/debug/issues/1005) - [npm debug and chalk packages compromised](https://www.aikido.dev/blog/npm-debug-and-chalk-packages-compromised) - [Hackers hijack npm packages with 2 billion weekly downloads in supply chain attack](https://www.bleepingcomputer.com/news/security/hackers-hijack-npm-packages-with-2-billion-weekly-downloads-in-supply-chain-attack/) - [Fake npm 2FA reset email led to compromise of popular code packages](https://www.helpnetsecurity.com/2025/09/09/npm-packages-supply-chain-compromise/) --- Machine-readable: https://pwn.watch/i/chalk-debug-npm-hijack-september-2025.json · all incidents: https://pwn.watch/incidents.json. Verify against the vendor advisory before changing production systems.