CVE-2026-58414 in Network-AIinfo

Summary

by MITRE • 07/20/2026

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.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Analysis

by VulDB Data Team • 07/20/2026

The Network-AI multi-agent orchestrator presents a critical security vulnerability in its backup functionality that stems from improper handling of symbolic links during file collection operations. This vulnerability affects versions prior to 5.12.2 and represents a classic path traversal issue that could enable unauthorized data disclosure. The flaw exists within the EnvironmentManager.backup() method which recursively gathers files using the _collectBackupFiles() function, creating a potential attack vector where adversaries can manipulate the backup process to access sensitive data outside the intended environment scope.

The technical implementation of this vulnerability relies on the difference between statSync and lstatSync system calls in Node.js. When _collectBackupFiles() invokes statSync(full), it follows symbolic links and resolves them to their target locations, allowing recursive directory traversal beyond the designated environment boundaries. This behavior creates an arbitrary file read condition where an attacker positioned within the data/<env> directory structure can establish a symlink pointing to external directories containing sensitive information. The backup process then seamlessly incorporates these external files into the backup artifacts without any additional validation or restriction.

The operational impact of this vulnerability extends beyond simple data disclosure, as it fundamentally compromises the isolation guarantees that should exist between different environment instances within the orchestrator system. An attacker could potentially gather configuration files, credentials, logs, or other sensitive materials from outside the intended environment scope, creating a significant information leak that could be exploited for further attacks. This vulnerability aligns with CWE-22 Path Traversal and CWE-73 Improper Neutralization of Special Elements in Output Used by a Downstream Component, representing a clear violation of least privilege principles and data protection requirements.

The fix implemented in version 5.12.2 addresses this issue by modifying _collectBackupFiles() to use lstatSync instead of statSync, followed by explicit checking for symbolic links using isSymbolicLink(). This approach ensures that any symbolic link encountered during backup operations is skipped entirely rather than being resolved and traversed. The mitigation strategy effectively prevents the backup process from following any links that would extend beyond the environment root directory, thereby maintaining proper boundary enforcement and preventing unauthorized access to external file systems. This solution corresponds to ATT&CK technique T1074 Data Staged, where attackers typically seek to move data out of restricted environments, but in this case prevents such movement through direct path traversal exploitation.

The remediation approach demonstrates a solid understanding of secure coding practices and follows established security principles for preventing directory traversal attacks. By switching from statSync to lstatSync and explicitly skipping symbolic links, the implementation enforces proper file system boundary checking that aligns with industry standards for access control and data protection. This fix ensures that backup operations maintain their intended scope and do not inadvertently expose sensitive information through maliciously placed symbolic links, thereby preserving the confidentiality and integrity of the orchestrator's environment isolation mechanisms.

Responsible

GitHub M

Reservation

06/30/2026

Disclosure

07/20/2026

Moderation

accepted

CPE

ready

EPSS

0.00131

KEV

no

Activities

low

Sources

Do you need the next level of professionalism?

Upgrade your account now!