Skip to main content

Network-AI EUVDEUVD-2026-46034

| CVE-2026-58484 HIGH
Path Traversal (CWE-22)
2026-07-20 GitHub_M
7.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain local write to data/<env>/.backups
  2. Delivery
    Plant poisoned _manifest.json with path:'/'
  3. Exploit
    Wait for or trigger backup prune
  4. Execution
    pruneBackups feeds path to rmSync
  5. Persist
    Recursive deletion of targeted files
  6. Impact
    Data loss / denial of service

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

Requires local write access to a manifest file at data/<env>/.backups/<name>/_manifest.json so the attacker can control its path field, and requires that pruneBackups() subsequently execute - typically via network-ai env backup prune --env <env> --keep <n> or any caller of pruneBackups(). Limiting factors: exploitation is local only (AV:L) and depends on the attacker being able to place/modify files under the target environment's .backups directory, meaning it is gated by filesystem permissions on that directory; there is no network vector and no victim UI interaction is needed, but the prune operation must be triggered (by an operator or scheduled job) for deletion to occur, and impact is bounded to paths the Network-AI process user can delete.

Impact

The CVSS 3.1 vector (AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H, base 7.1) is internally consistent with the description: exploitation is local (the attacker must place or modify a file on disk), low-complexity, and requires some level of existing access (PR:L) but no victim interaction, yielding high integrity and availability impact with no confidentiality loss - matching a delete-only primitive. This is a genuine but bounded risk: it is NOT a remote or unauthenticated flaw, so it is not a mass-exploitation candidate, and no EPSS score was provided to gauge exploitation probability. It is not listed in CISA KEV and there is no evidence of active exploitation; however, a working PoC is public, lowering the bar for a local or compromised-account attacker. The practical severity hinges on who can write into data/<env>/.backups/ - if that directory is shared, world-writable, or reachable via another vulnerability, the impact escalates to destruction of arbitrary files owned by the Network-AI process user. Treat as a medium-to-high priority local privilege/impact escalation rather than an internet-facing emergency.

Exploit ScenarioDerived

An attacker with write access to the environment's backup directory (e.g., a lower-privileged local user, a co-tenant, or via a separate file-write bug) drops or edits data/dev/.backups/evil/_manifest.json with "path": "/" or a path to a critical file. The next time an operator or automation runs network-ai env backup prune --env dev --keep <n> - or any code path calling pruneBackups() - Network-AI passes that path to rmSync(..., { recursive: true, force: true }) and destroys it. A working PoC confined to a temporary directory is published in the GHSA advisory, so the technique is trivially reproducible.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 20, 2026

Arbitrary recursive file deletion in Network-AI (npm package network-ai) before v5.12.2 allows a local attacker who can write into an environment's backup directory to delete any path the process user can access. EnvironmentManager.pruneBackups() trusts the path field of an attacker-controllable _manifest.json and feeds it straight into rmSync(..., { recursive: true, force: true }), so a poisoned manifest such as "path": "/" gets deleted when network-ai env backup prune runs. Publicly available exploit code exists (a working PoC ships in the GHSA advisory); there is no public exploit identified as actively exploited and it is not in CISA KEV.

RemediationAI

Vendor-released patch: upgrade to Network-AI 5.12.2 (npm network-ai@5.12.2), which recomputes the deletion path from a validated backupId and enforces a dirname containment check under the backups directory, rendering a poisoned "path": "/" manifest inert; the fix is delivered in commit a59c13a1f0ce0e8a0779a90343eef92fac5ab4c3 (https://github.com/Jovancoding/Network-AI/commit/a59c13a1f0ce0e8a0779a90343eef92fac5ab4c3) and release v5.12.2 (https://github.com/Jovancoding/Network-AI/releases/tag/v5.12.2). Note that 5.12.2 also bundles four other hardening fixes (GHSA-6x2m-p4xp-wg22, GHSA-48x2-6pr9-2jjf, GHSA-jvcm-f35g-w78p, GHSA-mxjx-28vx-xjjj), so upgrading is the clearly preferred action. If you cannot upgrade immediately, restrict write permissions on data/<env>/.backups/ so only the trusted Network-AI process user can create or modify _manifest.json files (side effect: any tooling that legitimately writes backups must run as that user), avoid running network-ai env backup prune while the backup directory is exposed to other accounts, and run the process under a low-privilege, filesystem-scoped user so an arbitrary-delete cannot reach sensitive paths (trade-off: does not stop deletion of files that user still owns).

Affected VersionsENISA

Network-AI < 5.12.2

Affected Packages

npm network-ai fix: 5.12.2

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

Network-AI is a TypeScript/Node.js multi-agent orchestrator (CPE cpe:2.3:a:jovancoding:network-ai) that persists per-environment state under data/<env>/ and keeps rotating backups in data/<env>/.backups/<name>/, each described by a _manifest.json. The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory): listBackups() reads each on-disk manifest and deserializes it into a BackupEntry without validating the path field, then pruneBackups() uses that untrusted entry.path as the deletion target rather than deriving the path from a trusted identifier. Because Node's rmSync with { recursive: true, force: true } silently removes whatever path it is given (and errors are swallowed by an empty catch), the manifest's path becomes a direct filesystem-write/delete primitive. The v5.12.2 fix recomputes the deletion path from a format-validated entry.backupId and adds a dirname(...) === backupsDir containment check so deletion is confined to exactly one level under the backups directory.

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

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

Exploitation needs local write access to the backups directory (AV:L, PR:L) with no user interaction; the primitive deletes files, giving high integrity and availability impact but no confidentiality loss.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/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
None
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Jul 20, 2026 - 18:18 EUVD
CVE Published
Jul 20, 2026 - 17:00 cve.org
HIGH 7.1

DescriptionCVE.org

Network-AI is a TypeScript/Node.js multi-agent orchestrator. Prior to version 5.12.2, EnvironmentManager.listBackups() reads each backup's _manifest.json and trusts the manifest's path field. EnvironmentManager.pruneBackups() later passes that trusted entry.path directly to rmSync(entry.path, { recursive: true, force: true }). An attacker who can place or modify a manifest inside data/<env>/.backups/<name>/_manifest.json can cause network-ai env backup prune --env <env> --keep <n> or any code path invoking pruneBackups() to recursively delete an arbitrary path accessible to the Network-AI process user. This is fixed in v5.12.2. pruneBackups() no longer passes entry.path from the on-disk manifest to rmSync. The deletion path is recomputed from a format-validated entry.backupId, and a dirname containment check confines deletion to exactly one level under the backups directory. A poisoned manifest (e.g. "path": "/") is now inert.

Executive ViewAI

Why It Matters

Network-AI (npm package) contains a HIGH severity vulnerability that allows attackers to delete critical files if they can write to backup directories, risking data loss and operational disruption. Publicly available exploit code exists. Organizations using network-ai for environment backup management must urgently implement strict access controls on backup directories.

Business Impact: High
Compensating Controls

Implement strict filesystem permissions restricting write access to backup directories to trusted accounts only; disable network-ai env backup prune if not actively required for operations; deploy backup integrity monitoring and audit logging to detect unauthorized modifications; use file access controls (e.g., SELinux, AppArmor) to enforce backup directory protection at the OS level.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
Rare
single-author npm orchestrator, negligible enterprise deployment footprint
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

CVE-2025-68613 HIGH POC
8.8 Dec 19

Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation

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

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