{"id":"GHSA-f29h-pxvx-f335","summary":"eslint-config-prettier, eslint-plugin-prettier, synckit, @pkgr/core, napi-postinstall have embedded malicious code","details":"eslint-config-prettier 8.10.1, 9.1.1, 10.1.6, and 10.1.7 has embedded malicious code for a supply chain compromise. Installing an affected package executes an install.js file that launches the node-gyp.dll malware on Windows.","aliases":["CVE-2025-54313"],"modified":"2026-02-03T03:09:09.088269Z","published":"2025-07-19T18:30:33Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2025-07-21T21:01:18Z","nvd_published_at":"2025-07-19T17:15:23Z","cwe_ids":["CWE-506"],"severity":"HIGH"},"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-54313"},{"type":"WEB","url":"https://github.com/prettier/eslint-config-prettier/issues/339"},{"type":"WEB","url":"https://github.com/prettier/eslint-config-prettier/commit/9b0b0a47ec28a7a83cf65e8436a8776910379385"},{"type":"WEB","url":"https://github.com/prettier/eslint-plugin-prettier/commit/ec39dd4400f10c52d10cd991c10fa8de51ceb854"},{"type":"WEB","url":"https://github.com/un-ts/napi-postinstall/commit/38b4e95cf554e2549b9e1e2c4ff6bff4da9a65f9"},{"type":"WEB","url":"https://github.com/un-ts/pkgr/commit/e1420c99e44d8a2ae949381f9fbe1af5ba9cb1dd"},{"type":"WEB","url":"https://github.com/un-ts/synckit/commit/8f2ee32d4f75736a1c8d7e1101190a71e48909e4"},{"type":"WEB","url":"https://www.stepsecurity.io/blog/supply-chain-security-alert-eslint-config-prettier-package-shows-signs-of-compromise"},{"type":"WEB","url":"https://www.npmjs.com/package/eslint-config-prettier?activeTab=versions"},{"type":"WEB","url":"https://www.endorlabs.com/learn/cve-2025-54313-eslint-config-prettier-compromise----high-severity-but-windows-only"},{"type":"WEB","url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2025-54313"},{"type":"WEB","url":"https://www.bleepingcomputer.com/news/security/popular-npm-linter-packages-hijacked-via-phishing-to-drop-malware"},{"type":"WEB","url":"https://socket.dev/blog/npm-phishing-campaign-leads-to-prettier-tooling-packages-compromise"},{"type":"WEB","url":"https://secure.software/npm/packages/got-fetch"},{"type":"WEB","url":"https://news.ycombinator.com/item?id=44609732"},{"type":"WEB","url":"https://news.ycombinator.com/item?id=44608811"},{"type":"PACKAGE","url":"https://github.com/prettier/eslint-config-prettier"},{"type":"WEB","url":"https://github.com/community-scripts/ProxmoxVE/discussions/6115"},{"type":"WEB","url":"https://checkmarx.com/zero-post/supply-chain-phishing-campaign-drops-more-malware-into-npm-got-fetch-5-1"}],"affected":[{"package":{"name":"eslint-config-prettier","ecosystem":"npm","purl":"pkg:npm/eslint-config-prettier"},"ranges":[{"type":"SEMVER","events":[{"introduced":"8.10.1"},{"fixed":"8.10.2"}]}],"versions":["8.10.1"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/07/GHSA-f29h-pxvx-f335/GHSA-f29h-pxvx-f335.json"}},{"package":{"name":"eslint-config-prettier","ecosystem":"npm","purl":"pkg:npm/eslint-config-prettier"},"ranges":[{"type":"SEMVER","events":[{"introduced":"9.1.1"},{"fixed":"9.1.2"}]}],"versions":["9.1.1"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/07/GHSA-f29h-pxvx-f335/GHSA-f29h-pxvx-f335.json"}},{"package":{"name":"eslint-config-prettier","ecosystem":"npm","purl":"pkg:npm/eslint-config-prettier"},"ranges":[{"type":"SEMVER","events":[{"introduced":"10.1.6"},{"fixed":"10.1.8"}]}],"database_specific":{"last_known_affected_version_range":"\u003c= 10.1.7","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/07/GHSA-f29h-pxvx-f335/GHSA-f29h-pxvx-f335.json"}},{"package":{"name":"eslint-plugin-prettier","ecosystem":"npm","purl":"pkg:npm/eslint-plugin-prettier"},"ranges":[{"type":"SEMVER","events":[{"introduced":"4.2.2"},{"fixed":"4.2.4"}]}],"database_specific":{"last_known_affected_version_range":"\u003c= 4.2.3","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/07/GHSA-f29h-pxvx-f335/GHSA-f29h-pxvx-f335.json"}},{"package":{"name":"synckit","ecosystem":"npm","purl":"pkg:npm/synckit"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.11.9"},{"fixed":"0.11.10"}]}],"versions":["0.11.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/07/GHSA-f29h-pxvx-f335/GHSA-f29h-pxvx-f335.json"}},{"package":{"name":"@pkgr/core","ecosystem":"npm","purl":"pkg:npm/%40pkgr/core"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.2.8"},{"fixed":"0.2.9"}]}],"versions":["0.2.8"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/07/GHSA-f29h-pxvx-f335/GHSA-f29h-pxvx-f335.json"}},{"package":{"name":"napi-postinstall","ecosystem":"npm","purl":"pkg:npm/napi-postinstall"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.3.1"},{"fixed":"0.3.2"}]}],"versions":["0.3.1"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/07/GHSA-f29h-pxvx-f335/GHSA-f29h-pxvx-f335.json"}},{"package":{"name":"got-fetch","ecosystem":"npm","purl":"pkg:npm/got-fetch"},"ranges":[{"type":"SEMVER","events":[{"introduced":"5.1.11"},{"fixed":"6.0.0"}]}],"database_specific":{"last_known_affected_version_range":"\u003c= 5.1.12","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/07/GHSA-f29h-pxvx-f335/GHSA-f29h-pxvx-f335.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:H/A:N"}]}