Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain local write to data/<env>/.backups
-
DeliveryPlant poisoned _manifest.json with path:'/'
-
ExploitWait for or trigger backup prune
-
ExecutionpruneBackups feeds path to rmSync
-
PersistRecursive deletion of targeted files
-
ImpactData loss / denial of service
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires local write access to a manifest file at |
| Impact | The CVSS 3.1 vector (AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H, base 7.1) is internally consistent with the description: exploitation is local (the attacker must place or modify a file on disk), low-complexity, and requires some level of existing access (PR:L) but no victim interaction, yielding high integrity and availability impact with no confidentiality loss - matching a delete-only primitive. This is a genuine but bounded risk: it is NOT a remote or unauthenticated flaw, so it is not a mass-exploitation candidate, and no EPSS score was provided to gauge exploitation probability. It is not listed in CISA KEV and there is no evidence of active exploitation; however, a working PoC is public, lowering the bar for a local or compromised-account attacker. The practical severity hinges on who can write into |
| Exploit ScenarioDerived | An attacker with write access to the environment's backup directory (e.g., a lower-privileged local user, a co-tenant, or via a separate file-write bug) drops or edits |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 20, 2026
Arbitrary recursive file deletion in Network-AI (npm package network-ai) before v5.12.2 allows a local attacker who can write into an environment's backup directory to delete any path the process user can access. EnvironmentManager.pruneBackups() trusts the path field of an attacker-controllable _manifest.json and feeds it straight into rmSync(..., { recursive: true, force: true }), so a poisoned manifest such as "path": "/" gets deleted when network-ai env backup prune runs. Publicly available exploit code exists (a working PoC ships in the GHSA advisory); there is no public exploit identified as actively exploited and it is not in CISA KEV.
RemediationAI
Vendor-released patch: upgrade to Network-AI 5.12.2 (npm network-ai@5.12.2), which recomputes the deletion path from a validated backupId and enforces a dirname containment check under the backups directory, rendering a poisoned "path": "/" manifest inert; the fix is delivered in commit a59c13a1f0ce0e8a0779a90343eef92fac5ab4c3 (https://github.com/Jovancoding/Network-AI/commit/a59c13a1f0ce0e8a0779a90343eef92fac5ab4c3) and release v5.12.2 (https://github.com/Jovancoding/Network-AI/releases/tag/v5.12.2). Note that 5.12.2 also bundles four other hardening fixes (GHSA-6x2m-p4xp-wg22, GHSA-48x2-6pr9-2jjf, GHSA-jvcm-f35g-w78p, GHSA-mxjx-28vx-xjjj), so upgrading is the clearly preferred action. If you cannot upgrade immediately, restrict write permissions on data/<env>/.backups/ so only the trusted Network-AI process user can create or modify _manifest.json files (side effect: any tooling that legitimately writes backups must run as that user), avoid running network-ai env backup prune while the backup directory is exposed to other accounts, and run the process under a low-privilege, filesystem-scoped user so an arbitrary-delete cannot reach sensitive paths (trade-off: does not stop deletion of files that user still owns).
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Network-AI is a TypeScript/Node.js multi-agent orchestrator (CPE cpe:2.3:a:jovancoding:network-ai) that persists per-environment state under data/<env>/ and keeps rotating backups in data/<env>/.backups/<name>/, each described by a _manifest.json. The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory): listBackups() reads each on-disk manifest and deserializes it into a BackupEntry without validating the path field, then pruneBackups() uses that untrusted entry.path as the deletion target rather than deriving the path from a trusted identifier. Because Node's rmSync with { recursive: true, force: true } silently removes whatever path it is given (and errors are swallowed by an empty catch), the manifest's path becomes a direct filesystem-write/delete primitive. The v5.12.2 fix recomputes the deletion path from a format-validated entry.backupId and adds a dirname(...) === backupsDir containment check so deletion is confined to exactly one level under the backups directory.
Know when Node.js gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
Exploitation needs local write access to the backups directory (AV:L, PR:L) with no user interaction; the primitive deletes files, giving high integrity and availability impact but no confidentiality loss.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Network-AI is a TypeScript/Node.js multi-agent orchestrator. Prior to version 5.12.2, EnvironmentManager.listBackups() reads each backup's _manifest.json and trusts the manifest's path field. EnvironmentManager.pruneBackups() later passes that trusted entry.path directly to rmSync(entry.path, { recursive: true, force: true }). An attacker who can place or modify a manifest inside data/<env>/.backups/<name>/_manifest.json can cause network-ai env backup prune --env <env> --keep <n> or any code path invoking pruneBackups() to recursively delete an arbitrary path accessible to the Network-AI process user. This is fixed in v5.12.2. pruneBackups() no longer passes entry.path from the on-disk manifest to rmSync. The deletion path is recomputed from a format-validated entry.backupId, and a dirname containment check confines deletion to exactly one level under the backups directory. A poisoned manifest (e.g. "path": "/") is now inert.
Executive ViewAI
Network-AI (npm package) contains a HIGH severity vulnerability that allows attackers to delete critical files if they can write to backup directories, risking data loss and operational disruption. Publicly available exploit code exists. Organizations using network-ai for environment backup management must urgently implement strict access controls on backup directories.
Implement strict filesystem permissions restricting write access to backup directories to trusted accounts only; disable network-ai env backup prune if not actively required for operations; deploy backup integrity monitoring and audit logging to detect unauthorized modifications; use file access controls (e.g., SELinux, AppArmor) to enforce backup directory protection at the OS level.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation
A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic
EUVD-2026-46034
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB