CVE-2026-29187OpenEMR 是一款免费的开源电子病历和医疗实践管理应用。在 8.0.0.3 版本之前,其患者搜索功能存在盲注 SQL 注入漏洞。经过身份认证的攻击者可以通过操纵 HTTP 参数的键名而非值来执行任意 SQL 命令,从而窃取或篡改数据库敏感信息。官方已在 8.0.0.3 版本中修复此问题。
该漏洞源于 OpenEMR 的 `new_search_popup.php` 接口在处理请求时,直接遍历并使用了 HTTP 请求参数的键名进行数据库查询构造,而未对这些键名进行严格的输入验证。与常规 SQL 注入不同,攻击者无需修改参数值,而是通过篡改参数的键名注入恶意 SQL 代码。利用方式通常涉及发送特制的 POST 或 GET 请求,其中参数名包含 SQL 语法(如布尔逻辑或时间延迟函数)。由于是盲注,攻击者无法直接获取回显,需结合布尔盲注或时间盲注技术,通过观察服务器响应时间或状态变化来逐位提取数据库数据。此漏洞需低权限用户认证,增加了攻击的隐蔽性。