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



GHSA-VW82-7FV8-R6GP

GHSA-vw82-7fv8-r6gp: Authorization Bypass in Obot MCP Gateway via Insecure Route Configuration

Alon Barad
Alon Barad
Software Engineer

May 13, 2026·7 min read·32 visits

Executive Summary (TL;DR)

Authenticated users can bypass access controls to connect to any registered MCP server via the `/mcp-connect/{id}` endpoint due to a misconfigured global allowlist in the platform's authorization routing logic.

An authorization bypass vulnerability in the Obot MCP Gateway allows authenticated users to access arbitrary Model Context Protocol (MCP) servers without possessing the required Access Control Rules (ACR) or ownership privileges, leading to unauthorized interaction with external tools and data sources.

Vulnerability Overview

The Obot platform functions as a gateway for Model Context Protocol (MCP) servers, integrating external tools and contextual data into Large Language Models. This integration enables LLMs to query external databases, fetch code from private repositories, or interact with local file systems depending on the connected MCP server. The platform architecture relies on an API gateway to route client requests to specific MCP servers using unique endpoint identifiers.

Vulnerability GHSA-vw82-7fv8-r6gp constitutes an Improper Authorization (CWE-285) flaw within this gateway routing logic. The central authorizer fails to enforce fine-grained access control on the /mcp-connect/{id} endpoint. The application effectively bypasses expected Access Control Rules (ACR) and ownership validation constraints for this specific route, defaulting to a globally permitted state.

Because the vulnerability exists in the routing layer rather than the MCP server implementations themselves, the flaw is universally applicable to all MCP servers connected to a vulnerable Obot instance. Any authenticated user can abuse this condition to establish a direct connection to an MCP server, provided they know or can guess the target server's identifier.

Root Cause Analysis

The root cause of this vulnerability lies in an improper configuration of the authorization bypass list within the gateway's core routing implementation. Specifically, the source file pkg/api/authz/authz.go defines arrays of route prefixes that are explicitly exempt from granular access control checks. These arrays, authenticatedPaths and unauthenticatedPaths, dictate whether a request requires deep authorization evaluation or simple authentication validation.

Prior to version v0.21.1, the developer included the /mcp-connect/ path prefix in both of these global allowlists. When an incoming request matches a prefix in these arrays, the central authorizer terminates its evaluation early and permits the request to proceed to the handler logic. This early termination instructs the system to bypass the specific ownership and permission checks required for individual MCP servers.

Consequently, the request handler for the /mcp-connect/ endpoint receives the incoming connection request but assumes that the authorization layer has already vetted the user's permissions. The handler then establishes the protocol connection to the underlying MCP server based solely on the {id} parameter provided in the URL path, leading directly to the authorization bypass condition.

Code Analysis and Patch Review

The remediation implemented in version v0.21.1 centralizes and strictly enforces authorization for MCP server connections. The most critical change involves removing the /mcp-connect/ prefix from the global bypass arrays in pkg/api/authz/authz.go. This removal forces all requests directed at this endpoint to undergo comprehensive evaluation by the central authorizer before reaching the connection handler.

To handle the specific authorization requirements of MCP servers, the maintainers introduced explicit identifier checking logic located in checkMCPID within pkg/api/authz/mcpid.go. The updated authorizer intercepts the request, extracts the MCPID from the URL parameters, and performs mandatory validation checks against the authenticated user's session context.

The updated checkMCPID function mandates two distinct verification paths for authenticated users. First, it verifies if the user is the direct owner of the targeted MCPServerInstance. If the user is not the direct owner, the function utilizes an Access Control Rule (ACR) helper to verify if the user possesses explicit permissions granted via a MCPServerCatalogID or a PowerUserWorkspaceID. Only upon satisfying one of these conditions does the authorizer permit the connection.

// Pseudocode representation of the patched logic in checkMCPID
func checkMCPID(user *User, mcpID string) error {
    // 1. Check direct ownership
    if isOwner(user.ID, mcpID) {
        return nil
    }
    
    // 2. Check catalog or workspace permissions via ACR
    hasPermission := checkACR(user.ID, mcpID, MCPServerCatalogID) || 
                     checkACR(user.ID, mcpID, PowerUserWorkspaceID)
    
    if !hasPermission {
        return errors.New("unauthorized access to MCP server")
    }
    return nil
}

Exploitation and Attack Methodology

Exploitation of this vulnerability requires a minimal set of prerequisites. The attacker must possess a valid, authenticated session on the target Obot instance. This session does not require administrative privileges; a standard low-privileged user account is sufficient. The attacker also requires the unique identifier of a target MCP server, such as ms1test, which they may obtain through information disclosure vulnerabilities, predictable naming conventions, or prior knowledge of the system architecture.

The attack begins with the construction of a standard HTTP GET request directed at the /mcp-connect/{target_mcp_id} endpoint. The attacker includes their valid authentication tokens (e.g., session cookies or Bearer tokens) within the request headers. Upon receiving this request, the vulnerable Obot gateway processes the route, identifies the /mcp-connect/ prefix, and bypasses the authorization checks due to the flawed allowlist configuration.

The Obot gateway subsequently establishes a connection to the specified MCP server on behalf of the attacker. The attacker now possesses a direct communication channel with the external tool. They can issue commands, execute queries, or retrieve contextual data exactly as if they were a highly privileged user explicitly authorized to use that specific MCP integration.

Impact Assessment

The impact of this authorization bypass is severe, meriting a CVSS score of 9.3 (Critical). The core consequence is the unauthorized exposure of external tools and sensitive contextual data managed by the targeted MCP servers. Because the vulnerability facilitates pivoting from the Obot platform to interconnected systems, the CVSS Scope metric is appropriately classified as Changed (S:C).

The precise nature of the data exposure depends entirely on the configuration and purpose of the compromised MCP server. If an MCP server connects to an internal database to provide context to an LLM, the attacker gains the ability to execute database queries or extract sensitive records. If the server interacts with a Version Control System, the attacker acquires read access to private source code repositories and potentially write access if the integration allows it.

Furthermore, this vulnerability compromises the fundamental integrity of the access control model within the Obot platform. Administrators rely on Access Control Rules (ACRs) to isolate resources and enforce least privilege principles. This flaw invalidates those isolation mechanisms, exposing all integrated MCP servers to all authenticated users regardless of the intended operational boundaries.

Remediation and Detection Strategy

The primary and only definitive remediation for this vulnerability is upgrading the Obot MCP Gateway to version v0.21.1 or later. The patch introduces fundamental architectural changes to the authorization routing logic that cannot be replicated via external configuration files. Administrators must deploy the updated binary or container image to ensure the /mcp-connect/ endpoint correctly enforces ownership and Access Control Rules.

In environments where immediate patching is not technically feasible, administrators possess no viable configuration workarounds within the application itself. Mitigating the risk temporarily requires network-level intervention. Security teams can deploy Web Application Firewall (WAF) rules to restrict access to the /mcp-connect/ URI path based on specific IP addresses or require mandatory multi-factor authentication at the reverse proxy layer before the request reaches the Obot gateway.

Organizations should initiate proactive detection efforts by auditing HTTP access logs and application logs. Security analysts must search for successful GET requests to /mcp-connect/{id} endpoints and cross-reference the authenticated user ID associated with the request against the explicit owners or authorized users of the corresponding MCP server. Discrepancies between the requesting user and the authorized user list indicate active exploitation of this vulnerability.

Official Patches

Obot Platformv0.21.1 Release Notes
Obot PlatformPatch Diff for v0.21.1

Technical Appendix

CVSS Score
9.3/ 10
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:L

Affected Systems

Obot MCP Gateway

Affected Versions Detail

Product
Affected Versions
Fixed Version
Obot MCP Gateway
Obot Platform
< 0.21.1v0.21.1
AttributeDetail
CWE IDCWE-285
Attack VectorNetwork
CVSS Score9.3
Privileges RequiredLow (Authenticated)
Impact ContextChanged Scope (Access to external tools/data)
Patch StatusPatched in v0.21.1

MITRE ATT&CK Mapping

T1190Exploit Public-Facing Application
Initial Access
T1212Exploitation for Credential Access
Credential Access
CWE-285
Improper Authorization

Improper Authorization in routing logic allows bypass of access control checks.

Vulnerability Timeline

Vulnerability identified and reported.
2025-05-01
Fix committed and release v0.21.1 published.
2025-05-01
Security Advisory GHSA-vw82-7fv8-r6gp published.
2025-05-01

References & Sources

  • [1]GitHub Security Advisory: GHSA-vw82-7fv8-r6gp
  • [2]Obot Repository Advisory

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

•37 minutes ago•CVE-2026-62898
7.5

CVE-2026-62898: Use After Free Information Disclosure in Microsoft QUIC

A critical use-after-free vulnerability in Microsoft QUIC allows unauthenticated remote attackers to disclose sensitive system memory over the network. The vulnerability is caused by a race condition during rapid connection termination and asynchronous packet retransmission.

Alon Barad
Alon Barad
1 views•6 min read
•about 2 hours ago•CVE-2026-62899
5.9

CVE-2026-62899: .NET Security Feature Bypass Vulnerability (HTTP Request Smuggling)

CVE-2026-62899 is a security feature bypass vulnerability in the Microsoft .NET runtime environment on non-Windows platforms. The flaw manifests as an HTTP Request/Response Smuggling vulnerability (CWE-444) within the managed implementation of the System.Net.HttpListener class. This allows unauthenticated remote attackers to desynchronize request boundaries when the backend .NET application is hosted behind an upstream reverse proxy.

Amit Schendel
Amit Schendel
2 views•6 min read
•about 3 hours ago•CVE-2026-62901
7.5

CVE-2026-62901: Remote Denial of Service via Infinite Loop in .NET WebSockets Engine

CVE-2026-62901 is a high-severity Denial of Service (DoS) vulnerability in the Microsoft .NET ecosystem, specifically affecting the System.Net.WebSockets frame-processing engine and associated network transports. Under certain circumstances, a remote, unauthenticated attacker can exploit this vulnerability by sending malformed or specifically crafted WebSocket packets over the network, causing a targeted .NET application server to enter a tight infinite loop. This behavior results in 100% CPU utilization on the executing thread, starving application resources and leading to a complete Denial of Service.

Alon Barad
Alon Barad
3 views•6 min read
•about 4 hours ago•CVE-2026-62909
7.8

CVE-2026-62909: .NET Local Elevation of Privilege via Unchecked Diagnostic Socket Permissions

A high-severity Local Elevation of Privilege (EoP) vulnerability exists in the Microsoft .NET runtime and Visual Studio on Unix-like platforms. The flaw arises from an unchecked return value (CWE-252) during the initialization of the Diagnostics Inter-Process Communication (IPC) socket. By exploiting this vulnerability, a low-privileged local attacker can execute arbitrary commands with the privileges of a higher-privileged .NET process.

Alon Barad
Alon Barad
3 views•6 min read
•about 5 hours ago•CVE-2026-70354
7.8

CVE-2026-70354: Out-of-Bounds Write in .NET Windows Presentation Foundation Subsystem

CVE-2026-70354 is a high-severity local code execution vulnerability affecting multiple versions of the Microsoft .NET runtime, .NET Framework, and Microsoft Visual Studio. The vulnerability is located within the Windows Presentation Foundation (WPF) layout and rendering subsystems, specifically within the parsing and rasterization of complex graphical layouts, XPS files, or custom font structures.

Alon Barad
Alon Barad
6 views•7 min read
•about 6 hours ago•CVE-2026-62897
7.0

CVE-2026-62897: Integer Overflow and Code Execution in .NET WPF and WinForms

An integer overflow vulnerability (CWE-190) exists in the layout and rendering engines of the Microsoft .NET Framework and .NET Core. This flaw resides within the processing of complex coordinate maps, font tables, and image metadata in Windows Presentation Foundation (WPF) and Windows Forms (WinForms). By convincing a user to open a crafted vector graphic or layout document, a local attacker can exploit this arithmetic error to induce an undersized memory allocation, leading to a heap-based buffer overflow and subsequent arbitrary code execution within the context of the vulnerable application.

Alon Barad
Alon Barad
7 views•6 min read