{"data":{"id":"8f73394c-92af-450f-8d8a-2f8975e8e170","title":"GHSA-48x2-6pr9-2jjf: Network-AI: EnvironmentManager.restore() backup ID path traversal copies arbitrary directories into environment data","summary":"Network-AI's EnvironmentManager.restore(env, backupId) builds the backup path from the caller-supplied backupId and checks only that the path exists, with no resolved containment check. A traversal ID such as ../../../outside/source-dir copies files from an arbitrary directory into data/<env>, reachable by default through network-ai env backup restore --env <env> --backup <id>. Confirmed in Network-AI 5.12.1; no RCE chain was confirmed.","solution":"Fixed in v5.12.2 (commit a59c13a). restore() now validates backupId against /^[\\w\\-]+$/ and asserts that dirname(resolve(join(backupsDir, backupId))) equals resolve(backupsDir) before touching the filesystem, so IDs containing path separators or .. are rejected. Install with npm install network-ai@5.12.2.","labels":["security"],"sourceUrl":"https://github.com/advisories/GHSA-48x2-6pr9-2jjf","publishedAt":"2026-06-19T21:42:38.000Z","cveId":null,"cweIds":null,"cvssScore":null,"cvssSeverity":"medium","severity":"medium","attackType":["other"],"issueType":"vulnerability","affectedPackages":["network-ai@<= 5.12.1 (fixed: 5.12.2)"],"affectedPackageNames":["network-ai"],"affectedPackageRefs":["npm:network-ai"],"affectedVendors":[],"affectedVendorsRaw":["Network-AI"],"classifierModel":"claude-haiku-5-5","classifierPromptVersion":"v4","summaryPromptVersion":"v2","headline":null,"headlinePromptVersion":null,"cvssVector":null,"attackVector":null,"attackComplexity":null,"privilegesRequired":null,"userInteraction":null,"exploitMaturity":null,"epssScore":null,"epssCheckedAt":null,"kevDateAdded":null,"advisoryAliases":["GHSA-48x2-6pr9-2jjf"],"affectedPackagesSource":null,"affectedPackagesCheckedAt":null,"patchAvailable":true,"disclosureDate":"2026-06-19T21:42:38.000Z","fixReleasedAt":"2026-06-18T21:17:50.389Z","daysToFix":-1,"fixCheckedAt":"2026-10-29T21:34:03.918Z","capecIds":null,"crossRefCount":0,"attackSophistication":"trivial","impactType":["confidentiality","integrity"],"aiComponentTargeted":"framework","llmSpecific":false,"classifierConfidence":0.8,"researchCategory":null,"atlasIds":null,"fixes":[{"ecosystem":"npm","name":"network-ai","fixedVersion":"5.12.2","matchedVersion":"5.12.2","fixReleasedAt":"2026-06-18T21:17:50.389Z","daysToFix":-1,"match":"ecosystem","source":"registry","status":"found","checkedAt":"2026-10-29T21:34:03.771Z"}]}}