CVE-2026-33980Azure Data Explorer MCP Server是一个基于模型上下文协议(MCP)的服务器,旨在通过标准化接口使AI助手能够执行KQL查询并探索Azure Data Explorer数据库。该服务器在0.1.1及之前版本中存在严重的KQL注入漏洞。受影响的功能包括`get_table_schema`、`sample_table_data`和`get_table_details`。由于系统未对输入的`table_name`参数进行任何验证或消毒处理,直接将其通过f-strings拼接到KQL查询语句中,导致攻击者或被注入的AI代理能够执行任意KQL代码,进而对Azure Data Explorer集群构成安全威胁。
该漏洞的根源在于不安全的代码实现。在Azure Data Explorer MCP Server的源代码中,`get_table_schema`、`sample_table_data`和`get_table_details`这三个MCP工具处理程序接收用户提供的`table_name`参数。开发人员使用了Python的f-string格式化方法直接将该参数插入到KQL查询语句中。由于没有输入验证(如白名单检查或转义),攻击者可以传入包含恶意KQL语法的数据作为`table_name`。KQL(Kusto Query Language)支持特定的运算符和命令,攻击者可以通过构造特殊的Payload(例如使用管道符`|`或双破折号`--`注释掉后续查询)来改变原始查询的逻辑。由于CVSS向量显示PR:L(低权限)且UI:N(无需交互),攻击者只需具备低级别的访问权限即可通过网络发起攻击。成功利用后,攻击者可以读取敏感数据(机密性高)、修改数据或配置(完整性高)并可能影响服务可用性(可用性低)。修复补丁引入了输入验证机制,确保`table_name`符合预期格式。