CVE-2026-34400Alerta是一款开源的监控工具。在9.1.0版本之前,其查询字符串搜索API存在严重的SQL注入漏洞。该漏洞是由于Postgres查询解析器在构建SQL WHERE子句时,使用了不安全的f-strings方式直接拼接用户提供的搜索参数导致的。攻击者无需认证即可利用该漏洞,通过构造恶意的查询参数执行任意SQL命令,从而可能导致敏感数据泄露、数据篡改或服务完全不可用。
该漏洞的核心在于Alerta后端处理搜索请求时的不安全编码实践。当用户通过API接口提交查询参数(如q=)时,应用程序会调用Postgres查询解析器将输入转换为SQL语句。由于开发人员使用了Python的f-strings直接将用户输入嵌入到SQL字符串中,而不是使用参数化查询或ORM提供的安全方法,导致输入未经过滤就直接进入数据库执行。攻击者可以通过网络向受影响端点发送包含特定SQL元字符(如单引号、注释符、UNION SELECT等)的恶意请求。由于该接口无需身份验证(PR:N)且无需用户交互(UI:N),攻击者可轻易利用此漏洞绕过应用逻辑,直接读取、修改或删除数据库中的任何数据,甚至可能通过特定的数据库函数执行系统命令,造成严重的机密性、完整性和可用性影响。