Skip to main content

mcp-pinot EUVDEUVD-2026-37951

| CVE-2026-49257 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
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Discover exposed mcp-pinot port 8080
  2. Delivery
    Send unauthenticated POST to /api/tools/call
  3. Exploit
    Invoke schema/table-config or read-query tool
  4. Execution
    mcp-pinot proxies with server credentials
  5. Persist
    Read or mutate Pinot cluster data
  6. Impact
    Persist via altered table config

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The mcp-pinot HTTP transport must be enabled (the vulnerable default MCP_TRANSPORT=both or http) and MCP_HOST must remain at the default 0.0.0.0 (or any non-loopback address) so the listener is reachable from outside the host. The attacker needs only TCP reachability to port 8080 (default MCP_PORT) on that interface - no credentials, no user interaction, no specific platform. Exploitation is LIMITED to deployments where the listening interface is reachable by the attacker: instances bound to 127.0.0.1, fronted by an authenticated reverse proxy, or restricted by network policy/firewall to trusted clients are not exploitable. Versions 3.1.0 and later are not vulnerable in their default configuration because the bind host changed to 127.0.0.1 and non-loopback binds are refused without OAuth.

Impact

All risk signals align toward maximum priority for any operator running mcp-pinot ≤3.0.1 with the HTTP transport reachable beyond localhost. The CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H vector (10.0) is consistent with the description: no authentication, no user interaction, and tool calls that grant full read/write/admin on Pinot. EPSS and CISA KEV data were not provided in the input, so probability of mass scanning and confirmed in-the-wild use cannot be quantified here - absence is not confirmation either way. No public exploit was identified, but exploitation is trivial (HTTP POST with a JSON body), so the lack of weaponized PoC offers little protection. The most important mitigating factor is deployment scope: instances bound only to loopback or behind authenticated ingress are not exposed, so real-world impact depends heavily on whether operators deployed to Kubernetes/cluster networks with the documented default.

Exploit ScenarioDerived

An attacker on the same network segment, VPC, or Kubernetes cluster as a vulnerable mcp-pinot deployment scans for TCP/8080, then sends an unauthenticated POST to /api/tools/call with a JSON body invoking the desired tool - for example {"name":"read-query","arguments":{"query":"SELECT ..."}} to exfiltrate data, or schema/table-config mutation tools to drop or alter Pinot tables. Because the server proxies the request with its own Pinot credentials, the attacker inherits full read/write authority against the cluster without ever touching Pinot directly. No public exploit identified at time of analysis, but the curl examples in the project's own PR description are functionally equivalent to a working PoC.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 18, 2026

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.

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.

Affected VersionsENISA

mcp-pinot < 3.1.0

Affected Packages

pypi mcp-pinot-server fix: 3.1.0
euvd mcp_pinot fix: 3.1.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in pypi, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

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.

Know when Python gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

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

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Jun 18, 2026 - 23:16 EUVD
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

Executive ViewAI

Why It Matters

StarTree mcp-pinot versions 3.0.1 and earlier expose the Model Context Protocol server on port 8080 without authentication, allowing any network-adjacent attacker to execute SQL commands, modify database schemas, and alter table configurations using the server's privileges against the backing Apache Pinot cluster. No public exploit identified at time of analysis, but the vulnerability is trivial to exploit once the service is discovered, creating immediate organizational risk to data confidentiality, integrity, and availability.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Firewall rules restricting port 8080 to internal trusted networks only; (2) Reconfigure service binding from 0.0.0.0 to specific trusted IPs or localhost; (3) Network segmentation isolating Pinot infrastructure from untrusted networks; (4) Comprehensive audit logging and monitoring of all MCP connections and operations; (5) Consider temporary service disabling if operationally feasible.

Threat Intelligence Overview

EPSS Score
0.5%
Top 61% exploitable
Threat Intel
1
1 sources
Social Media
3
Sightings
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

50
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +50
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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-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-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-49869 CRITICAL POC
10.0 Jun 26

Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to

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

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