Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain local write access to data/<env> directory
-
DeliveryPlace symlink inside data/<env> pointing to sensitive external path
-
ExploitWait for or trigger backup operation (CLI or automatic promote/restore)
-
ExecutionBackup recursion follows symlink and copies external files into backup artifact
-
ImpactRead backup artifact to access exfiltrated files
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 | Exploitation requires local OS-level write access to the |
| Impact | The NVD-assigned CVSS 3.1 score of 5.5 (Medium) with vector AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N is consistent with the described exploitation conditions: local filesystem write access is required (AV:L), complexity is low once access is obtained (AC:L), and only low-privilege local access is needed (PR:L). Confidentiality impact is High (C:H) because arbitrary files outside the environment root - including sensitive system or application secrets - can be copied into backup artifacts accessible to the attacker. No EPSS score was provided in the input so exploitation probability cannot be quantified numerically. The vulnerability is not listed in CISA KEV, confirming no known active exploitation at time of analysis. However, a fully functional proof-of-concept is publicly disclosed in the GHSA advisory, which meaningfully lowers the bar for opportunistic exploitation by any local attacker. In multi-tenant or containerized deployments where multiple principals share write access to environment data directories, the realistic risk is elevated above what the raw CVSS score implies, since the local-access barrier may be shared among many users. The attack is not remotely exploitable without prior local access. |
| Exploit ScenarioDerived | An attacker with local write access to a shared Network-AI environment data directory - for example, in a multi-tenant deployment or a container where several users access |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 20, 2026
Symlink traversal in Network-AI's EnvironmentManager.backup() allows a local attacker with write access to an environment data directory to exfiltrate arbitrary files from outside the environment root into readable backup artifacts. All Network-AI versions prior to 5.12.2 (npm package jovancoding/network-ai) are affected, confirmed in v5.12.1 per GHSA-6x2m-p4xp-wg22. A proof-of-concept is publicly available in the GHSA advisory; no active exploitation (CISA KEV) has been identified at time of analysis.
RemediationAI
Upgrade to Network-AI v5.12.2, available as a tagged GitHub release at https://github.com/Jovancoding/Network-AI/releases/tag/v5.12.2 and via npm. The patch (commit a59c13a1f0ce0e8a0779a90343eef92fac5ab4c3) replaces statSync with lstatSync in _collectBackupFiles() and adds explicit symlink skipping via isSymbolicLink(), preventing backup traversal outside the environment root. If immediate upgrade is not possible, restrict OS-level filesystem write permissions on data/<env> directories to only trusted processes and service accounts - this prevents an attacker from placing the malicious symlink but does not eliminate the underlying code defect and carries the trade-off of potentially breaking legitimate multi-user workflows. Auditing existing backup artifacts under data/<env>/.backups/ for files originating outside the environment root can help detect prior exploitation. Do not rely on application-layer access controls alone, as the vulnerability operates at the filesystem syscall level.
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
The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) arising from Node.js's distinction between statSync() and lstatSync(). In _collectBackupFiles() (lib/env-manager.ts:596-617), the code called statSync(full) which resolves symlinks before returning stat metadata - causing a symlinked directory to appear as a regular directory and be recursed into. lstatSync(), by contrast, stats the link entry itself, enabling isSymbolicLink() detection. The backup copy loop (lib/env-manager.ts:435-460) then writes all collected file paths - including those resolved through the symlink - into data/<env>/.backups/<backupId>/. The fix in commit a59c13a1f0ce0e8a0779a90343eef92fac5ab4c3 replaces statSync with lstatSync and skips any entry where isSymbolicLink() is true. The vulnerability is reachable via the default CLI command network-ai env backup create --env <env> (bin/cli.ts:413-420) and also automatically during promote and restore operations (lib/env-manager.ts:294-297 and 483-484), broadening the trigger surface beyond explicit backup calls.
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:H/I:N/A:N
Local write access to the environment data directory required (AV:L/PR:L); confidentiality-only impact as backup copies but never modifies or deletes external files.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Network-AI is a TypeScript/Node.js multi-agent orchestrator. Prior to version 5.12.2, EnvironmentManager.backup() recursively collects files using _collectBackupFiles(). _collectBackupFiles() uses statSync(full), which follows symlinks. If data/<env> contains a symlink to a directory outside the environment root, backup recursion follows the symlink and copies external files into data/<env>/.backups/<backupId>/. An attacker who can place a symlink under the environment data directory can cause backup operations to disclose files outside the environment root into backup artifacts. The issue is fixed in v5.12.2. _collectBackupFiles() now uses lstatSync instead of statSync and skips any entry where isSymbolicLink() is true. Symlinks are never traversed, so backup() can no longer follow a link out of the environment root and copy external files into a backup artifact.
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-46016
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB