Vulnerabilites related to Qix- - color-string
CVE-2025-59142 (GCVE-0-2025-59142)
Vulnerability from cvelistv5
Published
2025-09-15 19:10
Modified
2025-09-15 19:45
Severity ?
VLAI Severity ?
EPSS score ?
CWE
- CWE-506 - Embedded Malicious Code
Summary
color-string is a parser and generator for CSS color strings. On 8 September 2025, the npm publishing account for color-string was taken over after a phishing attack. Version 2.1.1 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. 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. This issue has been resolved in 2.1.2.
References
▼ | URL | Tags |
---|---|---|
https://github.com/Qix-/color-string/security/advisories/GHSA-286p-vc9p-p5qv | x_refsource_CONFIRM | |
https://github.com/debug-js/debug/issues/1005 | x_refsource_MISC | |
https://socket.dev/blog/npm-author-qix-compromised-in-major-supply-chain-attack | x_refsource_MISC | |
https://www.aikido.dev/blog/npm-debug-and-chalk-packages-compromised | x_refsource_MISC | |
https://www.ox.security/blog/npm-packages-compromised | x_refsource_MISC |
Impacted products
Vendor | Product | Version | ||
---|---|---|---|---|
Qix- | color-string |
Version: = 2.1.1 |
{ "containers": { "adp": [ { "metrics": [ { "other": { "content": { "id": "CVE-2025-59142", "options": [ { "Exploitation": "none" }, { "Automatable": "yes" }, { "Technical Impact": "partial" } ], "role": "CISA Coordinator", "timestamp": "2025-09-15T19:45:33.340598Z", "version": "2.0.3" }, "type": "ssvc" } } ], "providerMetadata": { "dateUpdated": "2025-09-15T19:45:39.946Z", "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP" }, "title": "CISA ADP Vulnrichment" } ], "cna": { "affected": [ { "product": "color-string", "vendor": "Qix-", "versions": [ { "status": "affected", "version": "= 2.1.1" } ] } ], "descriptions": [ { "lang": "en", "value": "color-string is a parser and generator for CSS color strings. On 8 September 2025, the npm publishing account for color-string was taken over after a phishing attack. Version 2.1.1 was published, functionally identical to the previous patch version, but with a malware payload added attempting to redirect cryptocurrency transactions to the attacker\u0027s 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 \u003cscript\u003e 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. 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. This issue has been resolved in 2.1.2." } ], "metrics": [ { "cvssV4_0": { "attackComplexity": "LOW", "attackRequirements": "NONE", "attackVector": "NETWORK", "baseScore": 8.8, "baseSeverity": "HIGH", "privilegesRequired": "NONE", "subAvailabilityImpact": "NONE", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "userInteraction": "NONE", "vectorString": "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", "version": "4.0", "vulnAvailabilityImpact": "NONE", "vulnConfidentialityImpact": "LOW", "vulnIntegrityImpact": "HIGH" } } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-506", "description": "CWE-506: Embedded Malicious Code", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "dateUpdated": "2025-09-15T19:10:07.595Z", "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "shortName": "GitHub_M" }, "references": [ { "name": "https://github.com/Qix-/color-string/security/advisories/GHSA-286p-vc9p-p5qv", "tags": [ "x_refsource_CONFIRM" ], "url": "https://github.com/Qix-/color-string/security/advisories/GHSA-286p-vc9p-p5qv" }, { "name": "https://github.com/debug-js/debug/issues/1005", "tags": [ "x_refsource_MISC" ], "url": "https://github.com/debug-js/debug/issues/1005" }, { "name": "https://socket.dev/blog/npm-author-qix-compromised-in-major-supply-chain-attack", "tags": [ "x_refsource_MISC" ], "url": "https://socket.dev/blog/npm-author-qix-compromised-in-major-supply-chain-attack" }, { "name": "https://www.aikido.dev/blog/npm-debug-and-chalk-packages-compromised", "tags": [ "x_refsource_MISC" ], "url": "https://www.aikido.dev/blog/npm-debug-and-chalk-packages-compromised" }, { "name": "https://www.ox.security/blog/npm-packages-compromised", "tags": [ "x_refsource_MISC" ], "url": "https://www.ox.security/blog/npm-packages-compromised" } ], "source": { "advisory": "GHSA-286p-vc9p-p5qv", "discovery": "UNKNOWN" }, "title": "color-string@2.1.1 contains malware after npm account takeover" } }, "cveMetadata": { "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "assignerShortName": "GitHub_M", "cveId": "CVE-2025-59142", "datePublished": "2025-09-15T19:10:07.595Z", "dateReserved": "2025-09-09T15:23:16.326Z", "dateUpdated": "2025-09-15T19:45:39.946Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1" }