Firebird未经授权访问对外漏洞CVE-2025-24975
FirFirebird是一个关系型数据库,是全功能的,强大高效的,轻量级,免维护的数据库,很容易从单用户,单数据库升级到企业级的应用。
一、基本情况
Firebird是一款开源、关系型数据库管理系统,Embed版本允许应用程序将数据库引擎直接嵌入到可执行文件中,无需单独数据库服务器。
Firebird Embed 提供了完整的SQL数据库功能,并且支持事务处理和并发访问,确保数据完整性和一致性,适合开发桌面和移动应用程序。
栋科技漏洞库关注到 Firebird 中存在一个未经授权访问对外部漏洞,该漏洞现在已经被追踪为CVE-2025-24975,漏洞CVSS 3.1评分8.8。
二、漏洞分析
CVE-2025-24975漏洞是 Firebird 中存在的未经授权访问对外部上的Execute语句漏洞,漏洞的存在使得攻击者能够直接访问加密数据库。
具体而言,在快照版本4.0.6.3183、5.0.2.1610和6.0.0.609之前,如果ExtConnPoolSize未设置为等于零,那么就会导致Firebird易受攻击。
若创建的ExtConnPool中的连接未验证是否存在及是否适合使用CryptCallback接口与可用的接口进行比较,导致服务器进程出现段错误。
通过外部执行语句访问的加密数据库可能会被缺少该数据库密钥的附件稍后访问。
在连续执行语句的情况下,可能会发生段错误。
此外,段错误也可能影响未加密的数据库。
详细来说,存储在ExtConnPool中的连接在创建时与当前实际可用的CryptCallback接口的存在性和适用性没有得到验证。
该漏洞的另一个问题是,使用不合适的CryptCallback接口可能会导致服务器进程中的segfault。
要受此漏洞的影响,应使用ExtConnPool(即在firebird.conf中将参数ExtConnPoolSize设置为非零)。
通过外部的execute语句访问的加密数据库,稍后可能会通过缺少该数据库密钥的附件访问。
在执行语句被链接的情况下,可能会发生segfault。
更糟糕的是,即使对于未加密的数据库,也可能发生segfault。
此问题已在快照版本4.0.6.3183、5.0.2.1610和6.0.0.609以及补丁版本4.0.6和5.0.2中得到修复。
解决此问题的一种方法是设置firebird.conf中的ExtConnPoolSize等于零。
三、影响范围
Firebird <= 4.0.7,<= 5.0.3
四、修复建议
目前可以使用以下或更高版本的快照:
6.0.0.609
5.0.2.1610
4.0.6.3183
或point releases:
5.0.2
4.0.6
其中#8429的修复程序也修复了此GHSA。
五、参考链接
