Skip to main content

mcp-pinot CVE-2026-49257

| EUVDEUVD-2026-37951 CRITICAL
Missing Authentication for Critical Function (CWE-306)
2026-06-18 GitHub_M GHSA-73cv-556c-w3g6
10.0
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

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

Default 0.0.0.0 bind with no auth means network-reachable, low-complexity, unauthenticated, no UI; tools mutate a separate Pinot cluster (scope change) with full read/write/admin impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
Patch available
Jun 18, 2026 - 23:16 EUVD
Source Code Evidence Fetched
Jun 18, 2026 - 21:51 vuln.today
Analysis Generated
Jun 18, 2026 - 21:51 vuln.today
CVE Published
Jun 18, 2026 - 21:01 cve.org
CRITICAL 10.0

DescriptionCVE.org

mcp-pinot is a Python-based Model Context Protocol (MCP) server for interacting with Apache Pinot. In versions 3.0.1 and below, mcp-pinot defaults to running an HTTP MCP server bound to 0.0.0.0:8080 with no authentication enabled. All MCP tools, including SQL query execution, schema creation, and table-config mutation, are reachable by any network-adjacent caller. The server proxies these calls using server-side Pinot credentials, producing a confused-deputy condition that yields full read/write access to the configured Pinot cluster. This issue has been fixed in version 3.1.0

AnalysisAI

Authentication bypass in StarTree mcp-pinot versions 3.0.1 and earlier exposes the Model Context Protocol HTTP server on 0.0.0.0:8080 by default with no authentication, allowing any network-adjacent attacker to invoke every MCP tool - including SQL execution, schema creation, and table-config mutation - against the backing Apache Pinot cluster using the server's own credentials. The maximum CVSS 10.0 score reflects a scope-changing confused-deputy condition. No public exploit identified at time of analysis, but the trivial reachability and presence of write/DDL tooling make exploitation straightforward once the port is found.

Technical ContextAI

mcp-pinot is a Python-based MCP (Model Context Protocol) server developed by StarTree that bridges LLM clients to Apache Pinot, an OLAP datastore. The vulnerability is rooted in CWE-306 (Missing Authentication for Critical Function): a prior PR introduced HTTP/SSE transport for Kubernetes deployment but shipped with MCP_HOST=0.0.0.0, MCP_PORT=8080, MCP_TRANSPORT=both, and no OAuth requirement, exposing tool endpoints such as /api/tools/call and /sse to anyone who can reach the listening interface. Because the server holds upstream Pinot credentials and forwards calls server-side, it acts as a deputy that confers its privileges to any anonymous caller - a classic confused-deputy pattern. Affected CPE is cpe:2.3:a:startreedata:mcp-pinot:*:*:*:*:*:*:*:* up to and including 3.0.1.

RemediationAI

Vendor-released patch: upgrade to mcp-pinot 3.1.0 or later, which changes the default MCP_HOST to 127.0.0.1, refuses non-loopback HTTP binds unless OAuth is enabled, and adds sqlglot-based read-query validation that rejects non-SELECT, stacked, and DDL/admin SQL before forwarding to Pinot (see PR https://github.com/startreedata/mcp-pinot/pull/95 and commit https://github.com/startreedata/mcp-pinot/commit/1c7d3f9cd384854bf72c127d230bdb32299475ad). If immediate upgrade is not possible, set MCP_HOST=127.0.0.1 and MCP_TRANSPORT=stdio to disable network exposure (trade-off: breaks remote/Kubernetes clients), or place the server behind an authenticated reverse proxy / network policy that restricts ingress to trusted client identities (trade-off: requires careful identity binding so the proxy does not itself become a confused deputy). Rotate any Pinot credentials configured in the server, since prior unauthenticated callers may already have used them, and audit Pinot for unexpected schema, table-config, or data changes.

More in Python

View all
CVE-2025-24016 CRITICAL POC
9.9 Feb 10

Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t

CVE-2025-27520 CRITICAL POC
9.8 Apr 04

BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser

CVE-2025-2945 CRITICAL POC
9.9 Apr 03

pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi

CVE-2013-5093 MEDIUM POC
6.8 Sep 27

The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python

CVE-2025-32375 CRITICAL POC
9.8 Apr 09

BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica

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-2024-21644 HIGH POC
7.5 Jan 08

pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.

CVE-2017-9462 HIGH POC
8.8 Jun 06

In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2024-21645 MEDIUM POC
5.3 Jan 08

pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne

CVE-2026-33017 CRITICAL POC
9.3 Mar 17

Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301

CVE-2026-55255 HIGH POC
8.4 Jun 19

Cross-user flow execution in Langflow (< 1.9.1) lets any authenticated API-key holder run another user's flow by passing

Share

CVE-2026-49257 vulnerability details – vuln.today

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