文章总结: Firebird数据库存在CVSS10.0路径遍历漏洞CVE-2026-40342,攻击者通过CREATEFUNCTION语句的ENGINE参数构造恶意路径可加载任意共享库,在插件验证前以系统权限执行代码。影响Firebird3.0.13/4.0.6/5.0.3及以下版本,建议立即升级至3.0.14/4.0.7/5.0.4修复版本。 综合评分: 92 文章分类: 漏洞分析,漏洞预警,应用安全,解决方案,安全建设
CVE-2026-40342:Firebird 数据库中的 CVSS 10.0 路径遍历远程代码执行漏洞
sec随谈 sec随谈
sec随谈
2026年4月23日 09:04 北京
在小说阅读器读本章
去阅读
研究人员披露了Firebird(一款历史悠久的关联数据库,其历史可以追溯到 1981 年)中的一个严重漏洞,该漏洞允许攻击者以最高的系统权限执行任意代码,通常会绕过现有的安全限制。
该漏洞被追踪为CVE-2026-40342,其 CVSS 最高评分为 10.0,这反映了该漏洞易于利用且具有毁灭性的潜在影响。
该漏洞是典型的路径遍历漏洞 (CWE-22),位于引擎/插件加载器中。当用户使用 ENGINE 关键字执行 CREATE FUNCTION 语句时,Firebird 会尝试通过构建文件路径来加载指定的插件。
Firebird 会读取 SQL 语句中提供的“引擎名称”,并将其附加到插件目录字符串中。系统不会过滤路径分隔符(/ 或 \)或父目录组件(..)。
攻击者可以使用精心构造的名称“走出”预期的插件文件夹,并将数据库指向文件系统上任何位置的恶意共享库。
这个漏洞最令人担忧的地方之一在于恶意代码的运行时间。Firebird 使用标准的操作系统函数来加载文件,例如 Linux/macOS 上的 dlopen() 或 Windows 上的 LoadLibraryEx()。
加载的库的初始化代码(构造函数或 DllMain)会在加载完成后立即运行。这甚至在 Firebird 有机会检查文件是否为有效插件之前就发生了。虽然 SQL 语句最终会因元数据错误而失败,但损害已经造成:攻击者的代码已经在服务器进程中执行完毕。
任何拥有运行 CREATE FUNCTION 权限的用户都可以触发此漏洞。一旦触发,攻击者即可以运行 Firebird 进程的操作系统帐户身份执行代码。
- 在 Linux 系统中:这通常是 firebird 用户,或者在许多容器环境中是 root 用户。
- 在 Windows 系统中:这通常会授予 SYSTEM 权限。
从这个有利位置,攻击者可以读取敏感数据库,在网络中横向移动,或在主机上建立永久持久性。
与具有 UdfAccess 限制的传统 UDF(用户定义函数)路径不同,此引擎/插件路径没有允许列表或配置选项来锁定受影响版本中的访问权限。
管理员必须立即更新到以下已修补版本,以确保部署安全:
Firebird 5.0.4
Firebird 4.0.7
Firebird 3.0.14
参考链接:
https://github.com/FirebirdSQL/firebird/security/advisories/GHSA-7pxc-h3rv-r257
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:sec随谈 sec随谈 sec随谈《CVE-2026-40342:Firebird 数据库中的 CVSS 10.0 路径遍历远程代码执行漏洞》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论