SQLite 再被曝 RCE 漏洞
编译:奇安信代码卫士团队
思科 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 的这个漏洞才能造成严重损害。因此不必恐慌,并非世界上所有的系统都会遭攻击,但应尽快修复。
历史
去年年末,腾讯研究员曾发现一个 SQLite 漏洞,可被用于在易受攻击的系统中注入恶意软件。它依靠的是内存损坏创建任意代码执行的条件,尽管关键向量是普通用户拥有能够执行 SQL 命令的权限。
而时间再往前推,SQLite 的创始人 Dwayne Richard Hipp 曾公开讨论基督徒式的行为准则。
原文链接
https://www.theregister.co.uk/2019/05/10/sqlite_rce_vuln/
题图:Pixabay License
本文由奇安信代码卫士编译,不代表奇安信观点,转载请注明“转自奇安信代码卫士 www.codesafe.cn”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。