思科 Talos 研究人员发现了一个 SQLite 释放后使用漏洞,从理论上来讲可导致攻击者在受影响设备上远程执行代码。Talos 在描述该漏洞 CVE-2019-5018 时表示,“它是存在于 Squlite3 3.26.0 中 window 函数功能的一个释放后使用漏洞。”
SQLite 实现 SQL 的 Windows 函数,而研究员 Cory Duplantis 发现 SQLite 处理函数的方式中包含复用已删除的分区。他指出,“分区删除后,在 exprListAppendList 中复用,从而导致释放后使用漏洞,继而引发拒绝服务。如果攻击者能够在释放后控制该内存,那么就有机会损坏更多的数据,可能造成代码执行后果。”Talos 团队发布详细说明了该漏洞的情况。修复方案较简单:将项目或产品更新至 SQLite 版本3.28,可从 SQLite 网站下载,并将修复方案推送给终端用户。