思科 Talos 研究人员发现了一个 SQLite 释放后使用漏洞,从理论上来讲可导致攻击者在受影响设备上远程执行代码。
Talos 在描述该漏洞 CVE-2019-5018 时表示,“它是存在于 Squlite3 3.26.0 中 window函数功能的一个释放后使用漏洞。”
SQLite 是一个开源项目,其维护人员将该漏洞描述为“世界上使用最广泛的数据库引擎。”
SQLite 实现 SQL 的 Windows 函数,而研究员 Cory Duplantis 发现 SQLite 处理函数的方式中包含复用已删除的分区。他指出,“分区删除后,在 exprListAppendList 中复用,从而导致释放后使用漏洞,继而引发拒绝服务。如果攻击者能够在释放后控制该内存,那么就有机会损坏更多的数据,可能造成代码执行后果。”
Talos 团队发布详细说明了该漏洞的情况。修复方案较简单:将项目或产品更新至 SQLite 版本3.28,可从 SQLite 网站下载,并将修复方案推送给终端用户。
影响
虽然看似令人担心,但问题的关键在于,攻击者必须在易受攻击的引擎上执行特殊构造的SQL 命令才能在底层主机系统上执行代码。
一般而言,用户和恶意人员无法运行任意 SQL 命令,因为这意味着他们能造成更多损坏如删除或访问其它用户的数据。如攻击者能够在数据库中注入或运行自己的 SQL 命令,则用户的应用程序和数据已遭攻陷。
简言之,如果应用程序中存在 SQL 注入漏洞,那么攻击者就能够结合使用最新的这个SQLite 漏洞在底层计算机或设备上运行恶意代码,如恶意软件。它可导致黑客从 SQL 注入跳到代码执行。
也就是说,实际上需要结合使用 SQL 注入漏洞,SQLite 的这个漏洞才能造成严重损害。因此不必恐慌,并非世界上所有的系统都会遭攻击,但应尽快修复。
评论已关闭。