Skip to content

Jovancoding/Network-AI

v5.9.1 Security

This release includes 1 security fix for security teams reviewing exposed deployments.

Published 1d MCP Developer Tools
βœ“ No known CVEs patched
Read the diff β†’ Tool health β†’ What is this tool? β†’
This release patches 1 known CVE

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

rce_ssrf breaking_upgrade

ReleasePort's take

Moderate signal
editorial:auto 1d

The release fixes an OS command injection vulnerability in ShellExecutor and adds permission‑denied audit logging to check_permission.py.

Why it matters: Addresses a high‑severity (95) command injection flaw; introduces audit logs for every permission denial, improving security observability.

Summary

AI summary

Updates πŸ›  Fixed, βœ… Verification, and v5.9.0 across a mixed release.

Changes in this release

Security Critical

Fixes OS command injection vulnerability in ShellExecutor by removing shell invocation.

Fixes OS command injection vulnerability in ShellExecutor by removing shell invocation.

Source: llm_adapter@2026-06-02

Confidence: low

β€”
Security High

Eliminates OS command injection by executing commands without a shell.

Eliminates OS command injection by executing commands without a shell.

Source: granite4.1:30b@2026-06-02-audit

Confidence: low

β€”
Security High

Adds quote-aware parsing and rejects unquoted metacharacters before allowlist matching.

Adds quote-aware parsing and rejects unquoted metacharacters before allowlist matching.

Source: granite4.1:30b@2026-06-02-audit

Confidence: low

β€”
Feature Low

Adds command‑injection regression tests covering various injection techniques.

Adds command‑injection regression tests covering various injection techniques.

Source: granite4.1:30b@2026-06-02-audit

Confidence: low

β€”
Bugfix Medium

Adds permission_denied audit logging to scripts/check_permission.py on every denial.

Adds permission_denied audit logging to scripts/check_permission.py on every denial.

Source: llm_adapter@2026-06-02

Confidence: low

β€”
Bugfix Low

Corrects false positive network‑access detection for lib/telemetry-provider.ts in socket.json.

Corrects false positive network‑access detection for lib/telemetry-provider.ts in socket.json.

Source: llm_adapter@2026-06-02

Confidence: high

β€”
Full changelog

Network-AI v5.9.1 β€” Critical Security Patch

πŸ”’ Security β€” GHSA-qw6v-5fcf-5666 (Critical, CWE-78 OS Command Injection)

SandboxPolicy.isCommandAllowed glob-matched the entire command string, but ShellExecutor then ran that string through /bin/sh -c (or cmd.exe /c). A scoped allowlist entry such as git *, npm *, or node * therefore also matched chained payloads like git status; id, and the injected command executed β€” defeating the one control the threat model designates against a compromised agent (Adversary 3.2).

Fixed:

  • Commands now execute via spawn(file, args, { shell: false }) using a parsed argv β€” no shell is ever invoked, so metacharacters cannot be interpreted.
  • A new quote-aware parseCommandLine() tokenizer backs both isCommandAllowed() and the new SandboxPolicy.tokenizeCommand().
  • Any unquoted shell metacharacter (; & | $ ` ( ) < > { } newline) or unterminated quote is rejected before the allowlist glob match.
  • Quoted metacharacters are preserved as literal argument data.

Reported by lexdotdev.

πŸ›  Fixed

  • scripts/check_permission.py β€” permission_denied audit logging: audit_summary reads explicit permission_denied events (v5.9.0), but the permission checker never wrote them. A new _deny() helper now logs a permission_denied audit event (agent_id, resource_type, scope, reason, scores) at every denial point β€” high-risk confirmation, insufficient justification, low trust, excessive risk, below-threshold weighted score.
  • Socket.dev Network-access false positive β€” declared lib/telemetry-provider.ts / dist/lib/telemetry-provider.js in socket.json. The module defines the BYOT ITelemetryProvider interface and createOtelHooks() factory and makes no outbound HTTP calls.
  • Tests β€” added command-injection regression coverage (chaining, pipe, $(), backticks, redirection, newline, quoted-literal handling, tokenizeCommand); converted shell-builtin test commands to node -e since execution is now shell-free.

βœ… Verification

  • npx tsc --noEmit β€” clean
  • Full suite β€” 3,161 tests across 31 suites passing

Upgrade urgency: HIGH for any deployment that grants agents ShellExecutor access with a scoped allowlist.

Security Fixes

  • GHSA-qw6v-5fcf-5666 β€” Fixed OS Command Injection (CWE-78) by eliminating shell invocation and adding strict tokenization/validation of commands

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]