CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-48814

CVE-2026-48814: Missing Authentication for Critical Orchestration Tools in Network-AI McpSseServer

Alon Barad
Alon Barad
Software Engineer

Jun 19, 2026·7 min read·67 visits

Executive Summary (TL;DR)

The Network-AI library (versions <= 5.7.1) features an insecure default configuration in its MCP Server-Sent Events server component. If initialized without a secret, it permits unauthenticated remote callers to invoke any of its 22 critical orchestration tools, potentially leading to unauthorized data exposure, state mutation, and arbitrary agent spawning.

CVE-2026-48814 is a critical vulnerability classified as Missing Authentication for Critical Function (CWE-306) in Network-AI, a TypeScript/Node.js multi-agent orchestrator. In versions 5.7.1 and earlier, the Model Context Protocol (MCP) Server-Sent Events (SSE) server allows unauthenticated, cross-origin invocation of sensitive orchestration tools. This vulnerability stems from an incomplete fix for CVE-2026-46701, where library-level server class initializations still default to an insecure empty-secret configuration, allowing remote attackers or Server-Side Request Forgery (SSRF) agents to execute administrative tools.

Vulnerability Overview

The vulnerability identified as CVE-2026-48814 is a critical security flaw classified as Missing Authentication for Critical Function (CWE-306) within the Network-AI multi-agent orchestrator framework. This library, built for Node.js using TypeScript, implements a Model Context Protocol (MCP) Server-Sent Events (SSE) server (McpSseServer) to facilitate communication between AI agents, external tools, and orchestration logic. The vulnerability specifically exists in the transport layers of the framework where administrative and operational tools are registered and executed.

An unauthenticated remote attacker can exploit this flaw to execute critical orchestration capabilities without providing credentials. The underlying flaw represents an incomplete fix for a prior vulnerability, CVE-2026-46701, which only addressed browser-based attacks via Cross-Origin Resource Sharing (CORS) configurations. In Network-AI versions 5.7.1 and earlier, the library-level McpSseServer class still defaults to an empty authorization secret, allowing direct backend-to-backend socket connections to bypass any logical access control.

The impact of this vulnerability is severe, as the orchestrator provides administrative access to 22 separate MCP tools. These tools manage core systems, manipulate variables on the shared state blackboard, modify configurations, and spawn new orchestrator agents. This exposure permits unauthorized reading of system state, configuration manipulation, and complete compromise of the underlying multi-agent environment when the server is bound to a non-loopback network interface.

Technical Root Cause Analysis

The technical root cause of CVE-2026-48814 resides in the fallback logic of the _isAuthorized method inside lib/mcp-transport-sse.ts. When an integrator instantiates the McpSseServer class without passing an explicit secret token, the internal configuration option this._opts.secret is evaluated as an empty string, undefined, or null. Under these conditions, the server defaults to an insecure open-access state where the authorization check immediately returns true rather than rejecting the unauthenticated connection.

The vulnerability is compounded by the behavior of the server binding process. When the application starts, the listen method detects if the server is binding to a non-loopback IP address, such as 0.0.0.0, while lacking an authentication secret. Instead of aborting execution or throwing an error, the library only emits a warning message to standard error (stderr) and continues to listen on the specified port. This design choice implements a fail-open architecture that compromises security in favor of development convenience.

The incomplete remediation of CVE-2026-46701 left the library transport layers vulnerable. While the CLI executable component (bin/mcp-server.ts) was hardened to require a secret from the environment, the underlying class in lib/mcp-transport-sse.ts remained unchanged. Consequently, any developer importing the library class directly to build custom orchestrator servers created an application that lacked default authentication controls, exposing critical tool execution interfaces to local or external network routes.

Code-Level Patch Comparison

To understand the exact code-level flaw, we must analyze the private _isAuthorized method and the listen method inside lib/mcp-transport-sse.ts before the patch. In the vulnerable version (v5.7.1), the authorization check allowed immediate access if no secret was defined in the server options. This allowed requests lacking an HTTP authorization header to pass through undetected.

// Vulnerable implementation in v5.7.1
private _isAuthorized(req: http.IncomingMessage): boolean {
  if (!this._opts.secret) return true; // Fail-open: returns true if secret is missing or empty
  const authHeader = req.headers['authorization'];
  if (typeof authHeader !== 'string') return false;
  // ... token parsing logic continues
}

The remediation applied in version 5.7.2 implements a strict fail-closed pattern. The modified logic within the _isAuthorized method now explicitly returns false if the secret option is not configured. Furthermore, the updated listen method now throws an exception and rejects the initialization promise if a secret is missing, preventing the service from binding to any interface without an active security control.

// Patched implementation in v5.7.2
private _isAuthorized(req: http.IncomingMessage): boolean {
  if (!this._opts.secret) return false; // Fail-closed: missing secret denies access
  const authHeader = req.headers['authorization'];
  if (typeof authHeader !== 'string') return false;
  const parts = authHeader.split(' ');
  if (parts.length !== 2 || parts[0] !== 'Bearer') return false;
  return parts[1] === this._opts.secret;
}

Additionally, the patch refactors the McpSseTransport client transport class to accept a secret argument. This change guarantees that legitimate client instances automatically transmit the required bearer token via the Authorization: Bearer <secret> header. By modifying both the server's authorization enforcement and the transport client's request-building routines, the library ensures that all tool calls must be authenticated by default.

Exploitation Methodology & Attack Path

Exploitation of CVE-2026-48814 does not require complex state conditions or highly specialized payloads. An attacker needs network access to the port where the McpSseServer is listening, typically port 3001 or 3099. Because the transport layer uses Server-Sent Events (SSE) and HTTP POST requests, standard network utilities such as curl can be used to directly interact with the endpoint and invoke JSON-RPC 2.0 procedures.

The attack sequence begins with an unauthenticated HTTP POST request aimed at the /mcp endpoint to enumerate available tools. If the server is vulnerable, it returns a complete JSON-RPC response listing all 22 registered MCP tools, including their parameter schemas. An attacker can then construct a secondary POST request targeting specific critical tools, such as blackboard_write or config_set, to execute administrative actions within the orchestrator environment.

Because the vulnerability allows manipulation of the state blackboard, an attacker can overwrite execution variables used by running AI agents. This state manipulation can force agents to execute arbitrary shell commands, spawn malicious sub-processes, or exfiltrate sensitive API tokens. This direct access bypasses the agent boundary, transforming a simple missing authentication flaw into a channel for lateral movement and remote code execution.

Impact & Security Assessment

The impact of CVE-2026-48814 is classified as critical, receiving a CVSS v3.1 base score of 9.1. The attack vector is Network, indicating the flaw can be exploited remotely across external boundaries or within a local network segment. Because the attack complexity is low and requires no prior privileges or user interaction, any exposed instance can be compromised immediately by an automated scanner or a local malicious agent.

The compromise of confidentiality and integrity is rated as high. Attackers can read sensitive system configurations, inspect running agent memory states, and view secrets on the blackboard. Furthermore, the integrity of the entire orchestrator is lost, as the attacker can write to the blackboard, modify security configurations, or call the agent_spawn tool to insert unauthorized agents into the active workflow.

Although the direct availability impact is rated as none, the logical disruption of the orchestrator can cause operational failures. An attacker who writes corrupt data to the shared blackboard can disrupt agent execution flows, leading to application hangs or denial-of-service conditions at the business-logic layer. In enterprise deployments where Network-AI agents manage infrastructure or integrate with cloud databases, this vulnerability provides a gateway to broader cloud environments.

Remediation & Hardening Guidance

The primary and most effective remediation path is to upgrade the network-ai dependency to version 5.7.2 or later. This release eliminates the fail-open fallback logic, enforces mandatory secret verification, and modifies the McpSseServer class to prevent initialization if an authentication token is not supplied. This change ensures that any custom server implementations inherit the secure-by-default behavior of the patched library.

In environments where immediate upgrading is not possible, developers must apply manual configuration hardening. The McpSseServer must be instantiated with a robust, cryptographically secure secret passed via the options object, and the server must be bound exclusively to loopback interfaces such as 127.0.0.1. This minimizes exposure to external network interfaces and prevents unauthorized cross-network access.

// Secure manual instantiation pattern
const server = new McpSseServer(combinedTools, {
  port: 3001,
  host: '127.0.0.1', // Restrict binding to loopback
  secret: process.env.NETWORK_AI_MCP_SECRET // Ensure secure secret is enforced
});

Additionally, security teams should configure network security groups and local firewalls to block external ingress traffic targeting ports associated with the MCP SSE transport (e.g., ports 3001 and 3099). If local transport is sufficient for agent communication, developers should transition from using McpSseServer to the standard input/output transport channel (McpStdioTransport), which eliminates the network listening port entirely and avoids the SSE attack surface.

Official Patches

JovancodingFormal advisory mapping missing authentication on critical tool invocation
JovancodingNetwork-AI version 5.7.2 Release Notes

Fix Analysis (1)

Technical Appendix

CVSS Score
9.1/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
EPSS Probability
0.30%
Top 79% most exploited

Affected Systems

Network-AI library environments implementing custom McpSseServer integrationsNode.js multi-agent orchestration backends running network-ai versions <= 5.7.1

Affected Versions Detail

Product
Affected Versions
Fixed Version
network-ai
Jovancoding
<= 5.7.15.7.2
AttributeDetail
CWE IDCWE-306 (Missing Authentication for Critical Function)
Attack VectorNetwork
CVSS v3.1 Score9.1 (Critical)
EPSS Score0.00297 (~0.30% probability)
ImpactHigh Confidentiality, High Integrity, No Availability
Exploit StatusNone (No public weaponized exploit available)
KEV StatusNot listed in CISA KEV Catalog

MITRE ATT&CK Mapping

T1190Exploit Public-Facing Application
Initial Access
CWE-306
Missing Authentication for Critical Function

The application fails to perform an authentication check before allowing access to a critical capability.

Vulnerability Timeline

Incomplete fix identified in Network-AI <= 5.7.1
2026-05-19
Official security patch developed and released in version 5.7.2
2026-05-23
Advisory GHSA-r78r-rwrf-rjwp published with CVE-2026-48814 identifier
2026-06-17

References & Sources

  • [1]GitHub Security Advisory Record
  • [2]GitHub Release Log v5.7.2
  • [3]GitHub Advisory Database Mapping

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•less than a minute ago•CVE-2026-61439
7.5

CVE-2026-61439: Prompt Injection Defense Bypass in PraisonAI InjectionDefense Engine

This report provides a comprehensive technical analysis of CVE-2026-61439 (GHSA-fj8f-m44g-c479), a prompt injection defense bypass vulnerability in the PraisonAI multi-agent framework. In versions prior to 4.6.78, the InjectionDefense scanner threshold defaulted to CRITICAL. This allowed single-vector prompt injections classified as HIGH severity (e.g., direct instruction overrides or financial manipulations) to pass through unblocked, enabling attackers to extract system prompts and execute unauthorized agent tools.

Alon Barad
Alon Barad
0 views•7 min read
•about 1 hour ago•CVE-2026-104890
7.2

CVE-2026-104890: Remote Code Execution via Mixed-Case File Upload Bypass in Kunstmaan CMS MediaBundle

Kunstmaan CMS MediaBundle prior to version 7.3.2 contains a critical file upload vulnerability where case-sensitive extension checks can be bypassed using mixed-case file extensions. Because extension normalization occurs after the validation routine, files with mixed-case executable extensions (such as pHp) bypass checks but are stored with normalized lowercase executable extensions, allowing authenticated administrators to achieve remote code execution.

Amit Schendel
Amit Schendel
6 views•6 min read
•about 2 hours ago•CVE-2026-106443
8.8

CVE-2026-106443: Remote Code Execution in WeasyPrint via Unvalidated Pillow EPS Processing

A critical remote code execution vulnerability was identified in WeasyPrint prior to version 70.0. When compiling HTML containing a malicious Encapsulated PostScript (EPS) graphic on a host with Ghostscript installed, Pillow invokes Ghostscript to process the image, executing arbitrary PostScript commands.

Amit Schendel
Amit Schendel
5 views•8 min read
•about 3 hours ago•CVE-2026-106489
6.5

CVE-2026-106489: Authorization Bypass via Path Traversal in Spotify Backstage TechDocs Backend

An authorization bypass vulnerability in the Spotify Backstage TechDocs backend plugin allows authenticated attackers with access to at least one valid TechDocs site to read arbitrary static documentation from other entities. This occurs due to un-sanitized relative subpaths passing directly to external storage drivers.

Alon Barad
Alon Barad
8 views•7 min read
•about 4 hours ago•CVE-2026-106502
5.3

CVE-2026-106502: Sensitive Information Exposure in Backstage Scaffolder Backend

The @backstage/plugin-scaffolder-backend package prior to version 4.1.0 is vulnerable to sensitive information exposure in Scaffolder task failure events. Under specific template and failure conditions, an authenticated user can retrieve backend-managed credentials, such as VCS access tokens and API keys, from affected task execution events and stored database logs. This vulnerability has been remediated in version 4.1.0 of the package and is bundled with the Backstage platform release v1.54.6.

Amit Schendel
Amit Schendel
8 views•6 min read
•about 5 hours ago•CVE-2026-61436
8.6

CVE-2026-61436: Missing Webhook Signature Verification in PraisonAI AgentMail Endpoint

A critical security flaw exists in PraisonAI before version 4.6.78 when operating in AgentMail webhook mode. The application processes incoming POST requests without checking for cryptographic signatures, allowing unauthenticated attackers to forge emails, spoof identities, and force AI agents to execute unauthorized operations.

Amit Schendel
Amit Schendel
9 views•7 min read