5 月 5 日消息,PHP 开源项目 ADOdb 于上周推出 v5.22.9 版本。该版本着重修复了一项极为严重的安全漏洞 ——CVE-2025-46337,其 CVSS 风险评分达到满分 10 分。官方指出,该漏洞 “可能波及全球 280 万个已安装 ADOdb 的环境”,影响范围广泛,情况不容乐观 。
作为广受欢迎的 PHP 数据库抽象层组件,ADOdb 凭借统一的 API 接口,为开发者提供了极大便利。借助它,开发者能够以相同的语法访问多种类型的数据库,涵盖 MySQL、PostgreSQL、SQLite、Oracle、Microsoft SQL Server、IBM DB2 以及 Sybase 等,在数据库交互开发中发挥着重要作用。
此次曝光的 CVE-2025-46337 属于 SQL 注入漏洞,存在于 ADOdb 库的 PostgreSQL 驱动中。当程序通过 ADOdb 连接 PostgreSQL 数据库时,若开发者调用 pg_insert_id () 函数,并传入未经处理的用户输入,且未进行恰当的转义操作,便会触发该漏洞。届时,黑客将得以远程执行任意 SQL 命令,严重威胁数据安全。

该漏洞的影响范围涉及多个 PostgreSQL 驱动版本,包括 postgres64、postgres7、postgres8 和 postgres9。据官方表示,在最糟糕的情形下,黑客甚至能够完全掌控 SQL 执行流程,进而窃取、删除数据,甚至远程运行恶意代码。因此,官方强烈督促开发者尽快将 ADOdb 升级至 v5.22.9 版本,以消除安全隐患。项目 GitHub 页面链接为(https://github.com/ADOdb/ADOdb/releases),用户可前往获取最新版本。

值得一提的是,这一漏洞由安全研究人员 Marco Napp 发现并提交。Marco Napp 原本专注于黑盒渗透测试,近期为深入理解白盒测试,他采用静态应用安全测试(Static Application Security Testing)方法,利用 SonarQube 静态代码分析工具,对海外高校网站常用的 Moodle 开源项目以及 “VtigerCRM” 客户关系管理系统展开扫描。

在扫描过程中,Marco Napp 在这两个项目中均发现了相同的 SQL 注入漏洞。经过进一步调查,他确定这些漏洞源于两个项目共同依赖的 ADOdb 组件,随后便向官方报告了这一重要安全隐患。此次事件再次凸显了开源项目安全维护的重要性,也提醒开发者及时关注组件更新,确保系统安全。