Azure Data Explorer MCP Server — KQL injection allows arbitrary query execution (CVE-2026-33980)
AI relevance: This MCP server vulnerability demonstrates how prompt-injected AI agents can bypass tool trust boundaries, executing arbitrary data queries through what appear to be safe metadata inspection tools.
- CVE-2026-33980 affects the Azure Data Explorer MCP Server (
adx-mcp-serverPython package), exposing KQL (Kusto Query Language) injection vulnerabilities in three tool handlers. - The vulnerable tools —
get_table_schema,sample_table_data, andget_table_details— directly interpolate user input into KQL queries via f-strings without validation or sanitization. - Attackers can inject arbitrary KQL commands including:
- Data exfiltration:sensitive_table | project Secret, Password | take 100
- Destructive commands:.drop table critical_datavia newline injection
- Full query execution bypassing intended restrictions - The vulnerability is particularly dangerous because these tools are often presented as "safe" metadata inspection functions, while the
execute_querytool requires explicit user confirmation. - MCP clients may grant automatic access to these "safe" tools while requiring approval for the raw query tool, making this injection a trust boundary bypass.
- The server was vulnerable in all versions up to commit
48b2933, patched in commit0abe0eeon March 27, 2026. - KQL supports query operator chaining with
|and management commands prefixed with., enabling extensive attack surface. - This follows a pattern of MCP server vulnerabilities where tool parameters are treated as trusted data rather than user input requiring validation.
Why it matters
- MCP servers often handle sensitive data access, making injection vulnerabilities particularly high-impact for data exfiltration and destruction.
- The trust boundary bypass is significant: clients may automatically allow "safe" metadata tools while restricting raw query execution, but this vulnerability defeats that security model.
- Azure Data Explorer stores sensitive analytics data for many organizations, making this a high-value target for attackers leveraging prompt-injected AI agents.
- This reinforces the need for input validation in all MCP tool parameters, not just those obviously accepting executable code.
What to do
- Update immediately: Upgrade to the patched version of
adx-mcp-serveror apply the commit0abe0eefix. - Validate all tool inputs: Treat every MCP tool parameter as potentially malicious, implementing proper input validation and sanitization.
- Review trust boundaries: Audit which tools receive automatic vs. confirmed access in your MCP client configurations.
- Monitor query patterns: Implement logging and alerting for unusual KQL query patterns from MCP servers.
- Principle of least privilege: Ensure MCP servers operate with minimal necessary permissions to limit potential damage from injections.