Skip to content

Jovancoding/Network-AI

v5.12.2 Security

This release includes 5 security fixes for security teams reviewing exposed deployments.

Published 1mo MCP Developer Tools
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →
This release patches 5 known CVEs

Topics

agent-framework agent-orchestration ai-agents autogen blackboard blackboard-architecture
+14 more
crewai hermes hermes-agent langchain llm mcp multi-agent nemoclaw nodejs openclaw orchestration rlm typescript workflow-engine

Affected surfaces

auth

Summary

AI summary

Updates Moderate, High, and backupsDir across a mixed release.

Full changelog

Security patch fixing 5 reported vulnerabilities in EnvironmentManager, SandboxPolicy, and ApprovalInbox.

Security fixes

GHSA-6x2m-p4xp-wg22 (Moderate) — EnvironmentManager.backup() symlink escape

  • _collectBackupFiles() now uses lstatSync and skips entries where isSymbolicLink() is true. Symlinks are never followed, preventing backup from reading files outside the environment root.

GHSA-48x2-6pr9-2jjf (Moderate) — EnvironmentManager.restore() backup ID path traversal

  • restore() validates backupId against /^[\w\-]+$/ and asserts dirname(backupPath) === resolve(backupsDir) before any filesystem access. IDs like ../../etc are rejected immediately.

GHSA-2fmp-9rvw-hc96 (High) — Poisoned backup manifest arbitrary recursive deletion

  • pruneBackups() no longer uses entry.path from the manifest for rmSync. The deletion path is recomputed from entry.backupId after format validation, and a dirname check enforces exactly one level of depth under the backups directory. A poisoned "path": "/" in a manifest is now harmless.

GHSA-jvcm-f35g-w78p (Moderate) — AgentRuntime sandbox path-prefix bypass

  • SandboxPolicy.resolvePath() and isPathAllowed() now use sep-anchored prefix checks (basePath + sep). The previous bare startsWith(basePath) check allowed /foo/barextra to match basePath /foo/bar.

GHSA-mxjx-28vx-xjjj (Moderate) — ApprovalInbox HTTP server unauthenticated

  • New secret option on ApprovalInboxOptions. When set, POST /:id/approve and POST /:id/deny require Authorization: Bearer <secret>. Validation uses timingSafeEqual (constant-time) to prevent timing oracle attacks. startServer() continues to default to 127.0.0.1 (loopback only).

Changed

  • Version bump 5.12.1 -> 5.12.2 across all manifests and documentation headers.

Install: npm install [email protected] -- Published to npm with provenance.

Upgrading from 5.12.1: No breaking changes. The ApprovalInbox secret option is opt-in; existing deployments without a secret continue to work (backward-compatible but unauthenticated -- set a secret for any network-exposed instance).

Security Fixes

  • GHSA-6x2m-p4xp-wg22 (Moderate) — EnvironmentManager.backup() symlink escape prevented by skipping symlinks
  • GHSA-48x2-6pr9-2jjf (Moderate) — EnvironmentManager.restore() backup ID path traversal blocked with regex validation and dirname check
  • GHSA-2fmp-9rvw-hc96 (High) — pruneBackups() no longer follows poisoned manifest paths, limiting deletion to one level under backupsDir
  • GHSA-jvcm-f35g-w78p (Moderate) — SandboxPolicy resolvePath/isPathAllowed now use sep‑anchored prefix checks to avoid path‑prefix bypass
  • GHSA-mxjx-28vx-xjjj (Moderate) — ApprovalInbox HTTP server gains optional `secret` for bearer token auth with constant‑time comparison

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Jovancoding/Network-AI

Get notified when new releases ship.

Sign up free

About Jovancoding/Network-AI

Multi-agent orchestration MCP server with race-condition-safe shared blackboard. 20+ MCP tools: blackboard read/write, agent spawn/stop, FSM transitions, budget tracking, token management, and audit log query. `npx network-ai-server --port 3001`.

All releases →

Beta — feedback welcome: [email protected]