返回

SQLite数据库被曝存在漏洞,漏洞已存在22年

发布时间:2022-10-28 11:20:47 256
# 漏洞# 攻击# 安全漏洞

SQLite数据库存在一个高危漏洞,该漏洞被追踪为CVE-2022-35737(CVSS评分:7.5),已经存在22年之久。据了解,该漏洞是2000年10月代码更改的一部分,可能使攻击者崩溃或控制程序。值得庆幸的是,该漏洞在2022年7月21日发布的版本3.39.2中得到解决。

SQLite

Trail of Bits研究人员Andreas Kellas在一篇技术文章中表示,CVE-2022-35737在64位系统上是可利用的,可利用性取决于程序的编译方式。当编译库时没有堆栈金丝雀时,任意代码执行是确认的,但是当堆栈金丝雀存在时,任意代码执行是未确认的,并且在所有情况下都确认拒绝服务。

SQLite是用C语言编程,使用最广泛的数据库引擎,默认情况下包含Android、iOS、Windows和macOS,以及流行的web浏览器,如谷歌Chrome、Mozilla Firefox和Apple Safari。

所以,为了利用CVE-2022-35737漏洞,攻击者必须将大字符串输入传递给printf函数的 SQLite 实现,并且格式字符串包含 %Q、%q 或 %w 格式替换类型。该漏洞与printf调用的名为“ sqlite3_str_vappendf ”的函数处理字符串格式的方式有关。

然而,漏洞库成功武器化的前提是字符串包含%Q、%Q或%w格式替换类型,当用户控制的数据写入超出堆栈分配缓冲区的边界时,可能会导致程序崩溃。

研究人员解释,如果格式字符串包含’!’特殊字符以启用unicode字符扫描,那么在最坏的情况下就有可能实现任意代码执行,或者导致程序无限期地挂起和循环。

最后,该漏洞是几十年前被认为不切实际的例子,分配1GB字符串作为输入,随着64位计算机系统的出现而变得可行。研究人员Kellas表示,当系统主要是32位体系结构时,这个bug在编写时可能看起来并不是一个错误。因为追溯到2000年的SQLite源代码,当时系统主要是32位架构。

不管怎么样,SQLite数据库中存在的CVE-2022-35737漏洞,已经在2022年7月21日发布的版本3.39.2中得到解决。用户尽快升级更新,防止不法分子利用该漏洞进行攻击。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线