PHP开源项目ADOdb上周发布v5.22.9,以修补一个CVSS风险评分等级高达10分的安全漏洞CVE-2025-46337,该漏洞恐危及全球280万已安装ADOdb的系统。
ADOdb是个热门的PHP数据库抽象层,它提供一个统一的API界面,让开发人员得以利用相同的语法来操作不同类型的数据库,兼容于MySQL、PostgreSQL、SQLite、Oracle、Microsoft SQL Server、IBM DB2及Sybase等数据库,而这次所发现的CVE-2025-46337是个SQL注入漏洞,出现在ADOdb程序库的PostgreSQL驱动程序中,允许黑客执行任意SQL指令。
这是由安全研究人员Marco Nappi意外发现的漏洞。Nappi说,他一直是位黑盒渗透测试人员,最近想要强化对白盒的了解,于是开始探索静态分析安全测试(Static Analysis Security Testing,SAST),并决定利用静态程序代码分析工具SonarQube来分析用来构建大学网站的开源项目Moodle,以及同样也是开源的客户关系管理项目VtigerCRM。
没想到SonarQube不管是在Moodle或VtigerCRM项目上都找到了SQL注入漏洞,进一步检查才发现该漏洞其实隐藏在ADOdb文件夹中。
当程序使用ADOdb连接到PostgreSQL数据库时,如果开发人员在调用pg_insert_id 函数时,使用了用户所提供的数据,却没有正确地转义处理,便可能触发CVE-2025-46337漏洞,允许黑客执行任意SQL指令。
该漏洞影响多个PostgreSQL驱动程序,包括postgres64、postgres7、postgres8及postgres9。在最危险的场景中,黑客将可完全控制SQL执行,窃取或删除数据,甚至自远程执行程序代码。