CVE-2025-10894
JavaScript vulnerability analysis and mitigation

Overview

A critical supply chain attack affected the Nx build system package and several related plugins published to the npm registry. The vulnerability (CVE-2025-10894) was discovered on August 26, 2025, when malicious code was inserted into multiple versions of the package. The affected versions include nx (20.9.0-20.12.0, 21.5.0-21.8.0), @nx/devkit (21.5.0, 20.9.0), @nx/enterprise-cloud (3.2.0), @nx/eslint (21.5.0), @nx/js (21.5.0, 20.9.0), @nx/key (3.2.0), @nx/node (21.5.0, 20.9.0), and @nx/workspace (21.5.0, 20.9.0) (NX Advisory, StepSecurity Blog).

Technical details

The attack utilized a malicious telemetry.js file triggered via a post-install script. The vulnerability was introduced through a flawed GitHub Actions workflow that allowed code injection through unsanitized pull request titles combined with the pullrequesttarget trigger. The malware specifically targeted non-Windows systems and employed a sophisticated approach by weaponizing AI CLI tools (claude, gemini, q) with dangerous flags to bypass security boundaries. The CVSS v3.1 score for this vulnerability is 9.6 CRITICAL (Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H) (Red Hat CVE, Wiz Blog).

Impact

The malware performed systematic harvesting of sensitive information including GitHub tokens, npm registry tokens, SSH keys, cryptocurrency wallets, and environment variables. The stolen data was exfiltrated to publicly accessible repositories created within victims' GitHub accounts. The attack also attempted to maintain persistence by modifying ~/.bashrc and ~/.zshrc files to trigger system shutdowns. Over 400 users/organizations were impacted, with more than 5,500 private repositories being exposed publicly in a second phase of the attack (StepSecurity Blog, Wiz Blog).

Mitigation and workarounds

Organizations should immediately remove malicious Nx versions using 'rm -rf node_modules && npm cache clean --force', upgrade to clean releases, and remove malicious shell entries from ~/.bashrc and ~/.zshrc. All potentially exposed credentials should be rotated, including GitHub tokens, npm tokens, SSH keys, and API keys. The nx maintainers have implemented additional security controls including mandatory 2FA for all maintainers, disabled npm token-based publishing, and migration to the Trusted Publisher mechanism (StepSecurity Blog, NX Advisory).

Community reactions

The security community responded rapidly to the incident, with multiple security firms and researchers collaborating to investigate and document the attack. GitHub took action by disabling attacker-created repositories approximately 8 hours after the initial compromise to prevent further data exposure. The incident gained significant attention due to its novel approach of weaponizing AI CLI tools and the broad impact on the developer community (Wiz Blog).

Additional resources


SourceThis report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2025-11148CRITICAL9.8
  • JavaScriptJavaScript
  • check-branches
NoNoSep 30, 2025
CVE-2025-53967HIGH7.5
  • JavaScriptJavaScript
  • figma-developer-mcp
NoYesSep 30, 2025
CVE-2025-56572HIGH7.5
  • JavaScriptJavaScript
  • financejs
NoNoSep 30, 2025
CVE-2025-56571HIGH7.5
  • JavaScriptJavaScript
  • financejs
NoNoSep 30, 2025
CVE-2025-11149HIGH7.5
  • JavaScriptJavaScript
  • node-static
NoNoSep 30, 2025

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management