Skip to main content

Network-AI CVE-2026-58414

| EUVDEUVD-2026-46016 MEDIUM
Path Traversal (CWE-22)
2026-07-20 GitHub_M
5.5
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
vuln.today AI
5.5 MEDIUM

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.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

3
Source Code Evidence Fetched
Jul 20, 2026 - 18:20 vuln.today
Analysis Generated
Jul 20, 2026 - 18:20 vuln.today
Patch available
Jul 20, 2026 - 18:18 EUVD

DescriptionCVE.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.

AnalysisAI

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.

Technical ContextAI

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.

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.

CVE-2024-41713 CRITICAL POC
9.1 Oct 21

A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could

CVE-2024-55591 CRITICAL POC
9.8 Jan 14

FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote

CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2014-7205 CRITICAL POC
10.0 Oct 08

Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t

CVE-2025-59528 CRITICAL POC
10.0 Sep 22

Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete

CVE-2017-14849 HIGH POC
7.5 Sep 28

Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc

CVE-2017-5941 CRITICAL POC
9.8 Feb 09

An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner

CVE-2014-0224 HIGH POC
7.4 Jun 05

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

CVE-2014-3744 HIGH POC
7.5 Oct 23

Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi

CVE-2014-9566 HIGH POC
7.5 Mar 10

Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin

CVE-2013-4660 MEDIUM POC
6.8 Jun 28

The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic

CVE-2016-2107 MEDIUM POC
5.9 May 05

The AES-NI implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h does not consider memory allocation during a

Share

CVE-2026-58414 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy