CVE-2025-67509CVE-2025-67509是Neuron框架中的一个高危安全漏洞。Neuron是一个PHP框架,用于创建和编排AI代理。漏洞存在于MySQLSelectTool组件中,该组件本应作为只读SQL工具供LLM代理查询数据库使用。然而,由于验证机制仅基于第一个SQL关键字(如SELECT)进行检查,并使用禁止关键字列表来阻止潜在危险操作,攻击者可以利用INTO OUTFILE或INTO DUMPFILE等文件写入构造绕过只读限制。攻击者可以通过公共代理端点的提示注入(Prompt Injection)技术影响工具输入,在MySQL/MariaDB账户具有FILE权限且服务器配置允许写入有用位置(如Web可访问目录)的情况下,可将任意文件写入数据库服务器。该漏洞已在版本2.8.12中修复。CVSS评分8.2,属于高危漏洞,无需认证即可远程利用,对数据完整性和机密性造成严重影响。
漏洞根源在于MySQLSelectTool的SQL语句验证机制存在缺陷。系统仅检查SQL语句的第一个关键字是否为SELECT,并维护了一个禁止关键字列表来阻止危险操作。然而,这种验证方式无法检测到SELECT语句中包含的INTO OUTFILE或INTO DUMPFILE子句。攻击者可以构造如下恶意SQL:'SELECT '恶意内容' INTO OUTFILE '/var/www/html/shell.php'。由于验证逻辑在解析到SELECT关键字后就认为语句安全,实际执行时却会触发文件写入操作。攻击条件包括:1)攻击者能够通过Prompt Injection影响工具输入;2)MySQL/MariaDB账户拥有FILE权限;3)数据库服务器配置允许写入可访问目录(如Web根目录)。成功利用后可写入WebShell,实现远程代码执行。修复方案采用更严格的SQL解析器,在整个语句中搜索禁止关键字和危险构造,而不仅限于语句开头。