CVE-2026-49257: mcp-pinot Unauthenticated Tool Invocation via Default oauth_enabled=False
Detects exploitation of CVE-2026-49257, a critical authentication bypass in mcp-pinot-server (<=3.0.1). The server defaults to oauth_enabled=False and binds to 0.0.0.0, allowing any network-adjacent or internet-facing attacker to invoke MCP tools without authentication. CVSS 10.0 with public PoC available.
Vulnerability Intelligence
Public PoCAffected Software
- Vendor
- pip
- Product
- mcp-pinot-server
- Versions
- <= 3.0.1
Weakness (CWE)
Timeline
- Disclosed
- June 26, 2026
References & Proof of Concept
- PoChttps://github.com/advisories/GHSA-73cv-556c-w3g6
- https://github.com/startreedata/mcp-pinot/security/advisories/GHSA-73cv-556c-w3g6
- https://nvd.nist.gov/vuln/detail/CVE-2026-49257
- https://github.com/startreedata/mcp-pinot/issues/90
- https://github.com/startreedata/mcp-pinot/pull/95
- https://github.com/startreedata/mcp-pinot/commit/1c7d3f9cd384854bf72c127d230bdb32299475ad
What is CVE-2026-49257 CVE-2026-49257: mcp-pinot Unauthenticated Tool Invocation via Default oauth_enabled=False?
CVE-2026-49257: mcp-pinot Unauthenticated Tool Invocation via Default oauth_enabled=False (CVE-2026-49257) maps to the Initial Access and Privilege Escalation and Exfiltration tactics — the adversary is trying to get into your network in MITRE ATT&CK.
This page provides production-ready detection logic for CVE-2026-49257: mcp-pinot Unauthenticated Tool Invocation via Default oauth_enabled=False, covering the data sources and telemetry it touches: DeviceNetworkEvents, CommonSecurityLog, AzureActivity. The queries below are rated critical severity at medium confidence, and ship for 7 SIEM platforms — KQL, SPL, Elastic, QRadar, Sumo, YARA-L, LogScale.
MITRE ATT&CK
union DeviceNetworkEvents, CommonSecurityLog
| where TimeGenerated > ago(24h)
| where DestinationPort in (8000, 8080, 8443, 9000, 3000)
| where (ProcessCommandLine has "mcp-pinot" or ProcessCommandLine has "mcp_pinot" or ProcessCommandLine has "uvicorn" or ProcessCommandLine has "fastapi")
| where not (InitiatingProcessAccountName in ("serviceaccount", "mcp-service"))
| extend AuthHeader = extract("Authorization: (\\S+)", 1, AdditionalExtensions)
| where isempty(AuthHeader) or AuthHeader == ""
| project TimeGenerated, DeviceName, RemoteIP, DestinationPort, ProcessCommandLine, InitiatingProcessAccountName, AuthHeader
| order by TimeGenerated desc Detects inbound HTTP connections to mcp-pinot-server processes on common MCP ports without an Authorization header, indicating unauthenticated tool invocation attempts consistent with CVE-2026-49257 exploitation.
Data Sources
Required Tables
False Positives
- Internal service-to-service calls on trusted networks where authentication is handled at the network layer
- Health check endpoints or monitoring probes that do not send auth headers
- Development or staging environments where oauth_enabled is intentionally False
- Load balancer health checks hitting the MCP server directly
Sigma rule & cross-platform mapping
The detection logic for CVE-2026-49257: mcp-pinot Unauthenticated Tool Invocation via Default oauth_enabled=False (CVE-2026-49257) above is provided in a vendor-neutral
form so you can deploy it on any SIEM. The same logic is shipped here as native
KQL (Microsoft Sentinel / Defender), SPL (Splunk), Elastic (Elastic Security (EQL)), QRadar (IBM QRadar (AQL)), Sumo (Sumo Logic CSE), YARA-L (Google Chronicle / SecOps), LogScale (CrowdStrike LogScale (CQL)) queries. In Sigma terms, this detection targets the
following logsource:
logsource:
category: network_connection
product: windows Browse the community-maintained Sigma rules for this technique:
Platform-specific guides for CVE-2026-49257
References (6)
- https://github.com/startreedata/mcp-pinot/security/advisories/GHSA-73cv-556c-w3g6
- https://nvd.nist.gov/vuln/detail/CVE-2026-49257
- https://github.com/startreedata/mcp-pinot/issues/90
- https://github.com/startreedata/mcp-pinot/pull/95
- https://github.com/startreedata/mcp-pinot/commit/1c7d3f9cd384854bf72c127d230bdb32299475ad
- https://github.com/advisories/GHSA-73cv-556c-w3g6
Testing Methodology
Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Verify Unauthenticated MCP Tool Listing
Expected signal: HTTP 200 response with JSON list of available Pinot MCP tools returned without any authentication challenge; no 401 or 403 status code issued.
- Test 2Unauthenticated Pinot Query Execution via MCP Tool
Expected signal: Pinot query execution log entry showing query 'SELECT * FROM myTable LIMIT 10' from MCP server without session token; HTTP 200 from mcp-pinot-server with query results in response body.
- Test 3External Network Exploitation Simulation
Expected signal: Inbound TCP connection from external IP to port 8000; HTTP POST to /tools/list and /tools/call with source IP from outside trusted ranges; no TLS client certificate or Authorization header present.
- Test 4Confirm Vulnerable Package Version in Environment
Expected signal: Command execution events showing pip, find, and ps commands with mcp-pinot arguments; output revealing package version <= 3.0.1 and running process details.
Unlock Pro Content
Get the full detection package for CVE-2026-49257 including response playbook, investigation guide, and atomic red team tests.