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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-22",
"CWE-59"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/58xxx/CVE-2026-58414.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "5.12.2"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "a59c13a1f0ce0e8a0779a90343eef92fac5ab4c3"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "v5.12.2",
"range": [
{
"fixed": "a59c13a1f0ce0e8a0779a90343eef92fac5ab4c3"
}
],
"source": "REFERENCES_TAG"
},
{
"cpe": "cpe:2.3:a:network-ai:network-ai:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "5.12.2"
}
],
"source": "CPE_RANGE"
}
]
}