CVE-2026-42550Flight是一个PHP微框架。在3.18.1版本之前,其SimplePdo组件的insert、update和delete方法存在安全缺陷。这些方法在构建SQL语句时,直接将$table参数和$data数组的键拼接到查询中,未进行标识符引用或验证。当应用将用户控制的数据传递给这些辅助方法时,攻击者可通过构造恶意的数组键注入任意SQL语句,导致数据库被非法操作。
该漏洞的核心在于Flight框架的SimplePdo类在处理数据库操作时存在设计缺陷。具体而言,SimplePdo::insert()、update()和delete()方法在构建SQL语句时,仅仅是简单地拼接字符串。开发者通常关注数据值的过滤,往往忽略了数组键名也可能是用户可控的。当应用直接使用$_POST或JSON请求体作为$data参数传入这些方法时,攻击者可以将恶意的SQL片段隐藏在数组的键中。例如,通过构造键名为`column) VALUES (1, (SELECT * FROM sensitive_table)); -- `的数组,可以破坏原有的SQL结构,从而注入并执行任意SQL命令。这种SQL注入属于“标识符注入”,绕过了传统的参数化查询防御机制。由于CVSS评分为8.8,且无需用户交互,该漏洞极具危险性,攻击者可轻易获取数据库权限,导致数据泄露、篡改或丢失。修复后的版本引入了严格的标识符验证机制。