freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

广泛使用的 SQLite 数据库中披露了一个22年漏洞
2022-10-26 10:27:17
所属地 北京

SQLite数据库库中披露了一个高严重性的漏洞,该漏洞是2000年10月代码更改的一部分引入的,可以使攻击者让程序崩溃或控制程序。

这个已有 22 年历史的问题被跟踪为 CVE-2022-35737(CVSS 分数:7.5),影响 SQLite 1.0.12 至 3.39.1版本,并已在 2022 年 7 月 21 日发布的版本 3.39.2 中得到解决。

“CVE-2022-35737可在64位系统上被利用,可利用性取决于程序是如何编译的,”Trail of Bits 研究员 Andreas Kellas 在今天发表的一篇技术文章中说。

“当编译库没有stack canaries的情况下编译时,会确认任意代码执行,但当存在stack canaries时,不会确认任意代码执行,并且在所有情况下都会确认拒绝服务。”

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

Trail of Bits发现的漏洞涉及一个整数溢出错误,当将非常大的字符串输入作为参数传递给printf函数的SQLite实现时,该函数会使用另一个函数来处理字符串格式化(“sqlite3_str_vappendf”)。

专家解释说,为了利用CVE-2022-35737漏洞,攻击者必须将大型字符串输入传递给printf函数的SQLite实现,并且格式字符串包含%Q,%q或%w格式替换类型。当用户控制的数据写入超出堆栈分配缓冲区的范围时,可能会导致程序崩溃。

研究人员还发现,如果格式字符串包含启用Unicode字符扫描的特殊字符'!',那么在最坏的情况下就有可能实现任意代码执行,或者导致DoS条件。

该漏洞也是几十年前一度被认为不切实际的场景的一个例子,随着64位计算系统的出现,分配1GB字符串作为输入变得可行。

Kellas总结称:“当系统主要是32位的体系结构时,这个bug在编写时(追溯到2000年的SQLite源代码中)可能看起来不像一个错误。”

随着网络攻击事件愈发频繁,安全已成为重点关注问题。美国国家标准与技术局(NIST)、国家漏洞数据库(NVD)调查数据显示,90%以上的网络安全问题是由软件自身的安全漏洞被利用导致。这就要求企业不但及时对出现漏洞的软件进行升级或打好补丁,在做软件开发时更要关注软件安全问题,尤其在开发阶段。

来源:

https://thehackernews.com/2022/10/22-year-old-vulnerability-reported-in.html

https://securityaffairs.co/wordpress/137629/hacking/cve-2022-35737-sqlite-bug.html

# 安全漏洞 # 网络攻击 # 缓冲区溢出 # 安全缺陷
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
  • 0 文章数
  • 0 关注者