ACVE-2026-0405 · Real incident · CRITICAL
WHAT HAPPENED
The postinstall drives the installed AI CLI to inventory and collect credential files, then exfiltrates them to a GitHub repository under the victim's account.
THE SETUP — is yours like this?
WHAT TO CHANGE
Replace any listed version with a clean release and rotate credentials.
- Upgrade
npm:nxto21.5.1. First stable nx release published to npm after the malicious versions were removed. Owner: operator - Reconfigure
nx.releasetothe fix in nrwl/nx pull request 32458. Shipped by Nx: its advisory GHSA-cxm3-wv7p-598c marks the issue fixed. Owner: tool-provider - Reconfigure
harness.cli.permissionBypassFlagstocan be switched off in the user's settings. Recommended: the payload passed each CLI its own bypass flag, so the agent ran unprompted whatever the user's settings. Owner: harness-vendor
HARM, REACH AND RECOVERY
SOURCES
ADVISORY
FIX
REPORT
Technical details
Secrets are collected and exfiltrated to the victim's own GitHub account when a listed nx or @nx/* version is installed: its postinstall drives an installed AI CLI with permission-bypass flags.
Reproducibility: not-reproducible (vulnerable components are not confirmed obtainable; trigger not published)
Claims
Confirmed means the statement matches the cited primary source. Nothing on this page has been reproduced.
| Claim | Status | Source | Checked |
|---|---|---|---|
| Identifier CVE-2025-10894 | Confirmed | cveawg.mitre.org | 2026-09-23 |
| Identifier GHSA-cxm3-wv7p-598c | Confirmed | api.osv.dev | 2026-09-23 |
| Affected through 20.9.0 | Confirmed | api.osv.dev | 2026-09-23 |
| Affected through 20.10.0 | Confirmed | api.osv.dev | 2026-09-23 |
| Affected through 20.11.0 | Confirmed | api.osv.dev | 2026-09-23 |
| Affected through 20.12.0 | Confirmed | api.osv.dev | 2026-09-23 |
| Affected versions include 21.5.0 | Confirmed | api.osv.dev | 2026-09-23 |
| Affected through 21.6.0 | Confirmed | api.osv.dev | 2026-09-23 |
| Affected through 21.7.0 | Confirmed | api.osv.dev | 2026-09-23 |
| Affected through 21.8.0 | Confirmed | api.osv.dev | 2026-09-23 |
| Affected versions include 3.2.0 | Confirmed | api.osv.dev | 2026-09-23 |
| Upgrade target 21.5.1 | Confirmed | registry.npmjs.org | 2026-09-23 |
| Severity CRITICAL (CVSS 9.6); matches CNA | Confirmed | cveawg.mitre.org | 2026-09-23 |
| Affected versions include 20.9.0, 20.10.0, 20.11.0, 20.12.0, 21.5.0, 21.6.0, 21.7.0, 21.8.0 | Confirmed | api.osv.dev | 2026-09-23 |
| Affected versions include 20.9.0, 21.5.0 | Confirmed | api.osv.dev | 2026-09-23 |
| Latest affected version 21.8.0 is no longer on npm — Matches npm; version not found on npm | Unavailable | registry.npmjs.org | 2026-09-22 |
| Latest affected version 21.5.0 is no longer on npm — Matches npm; version not found on npm | Unavailable | registry.npmjs.org | 2026-09-22 |
| Latest affected version 3.2.0 is no longer on npm — Matches npm; version not found on npm | Unavailable | registry.npmjs.org | 2026-09-22 |
Description
What
A 2025 event. The listed versions were published between 6:32 PM and 8:37 PM EDT on 2025-08-26 and removed by 6:20 AM the next day. The postinstall script collected credentials and pushed them to s1ngularity-repository repositories in the victim's GitHub account. Wiz reports it invoked installed Claude, Gemini and Q CLIs with --dangerously-skip-permissions, --yolo and --trust-all-tools to find secrets. On 2025-08-28 and 08-29 stolen tokens were used to make private repositories public.
Detection
acve lock does not inventory npm dependency trees, so this record has no matcher: run npm ls nx and check for /tmp/inventory.txt.
Fix
Install a clean release, clear package-manager caches and rotate GitHub, npm and cloud credentials.