Cisco Talos在SQLite中发现了一个远程代码执行漏洞

思科Talos的研究人员在SQLite中发现了一个use-after-free()
漏洞,攻击者可利用该漏洞在受影响设备上远程执行代码。

攻击者可以通过向受影响的SQLite安装发送恶意SQL命令来触发此漏洞。

“Sqlite3 3.26.0的窗口函数(Window_Function)中存在可利用的use_after_free漏洞。特制的SQL命令可能导致use_after_free漏洞,可能导致远程代码执行。“阅读Cisco Talos发布分析“攻击者可以发送恶意SQL命令来触发此漏洞。”

该漏洞被跟踪为CVE-2019-5018,影响SQLite 3.26.0、3.27.0版本,并获得CVSS 3.0评分8.1。

SQLite是一个C语言库,它实现了一个小型,快速,自包含,高可靠性,功能齐全的SQL数据库引擎。SQLite被认为是世界上使用最多的数据库引擎,它内置于移动电话和大多数计算机中,并用于无数其他应用程序。

SQLite.png

SQLite实现了SQL的窗口函数特性,在解析包含窗口函数的SELECT语句之后,使用sqlite3WindowRewrite函数转换SELECT语句。

专家发现SQLite实现的处理函数的过程包括重用已删除的分区。

“回顾原始的sqlite3WindowRewrite函数,这个删除的分区在重写表达式列表之后被重用”,继续分析。

“删除该分区后,它将在exprListAppendList [5]中重用,导致use_after_free漏洞,从而导致拒绝服务。如果攻击者可以在释放内存后控制这些内存,则有可能破坏更多数据,从而可能导致代码执行。“

Talos发布了SQLite版本3.28发布的漏洞的技术细节

该漏洞的时间表是:

2019-02-05 - 供应商披露
2019-03-07 - 与供应商进行30天跟进; 等待批准
2019-03-28 - 供应商修补
2019-05-09 - 公开发布

本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:https://securityaffairs.co/wordpress/85354/hacking/sqlite-rce.html
免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。查看原文

为您推荐