前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个隐藏SQLite数据库长达22年的漏洞

一个隐藏SQLite数据库长达22年的漏洞

作者头像
Power7089
发布2023-01-14 13:16:16
4010
发布2023-01-14 13:16:16
举报

安全专家Andreas Kellas详细介绍了2000年10月推出的SQLite数据库中的一个高严重性漏洞,被追踪为CVE-2022-35737(CVSS评分:7.5)。

CVE-2022-35737漏洞是一个整数溢出问题,影响到SQLite 1.0.12至3.39.1版本。该漏洞已在2022年7月21日发布的3.39.2版本中得到解决。此前,如果在C API的字符串参数中使用了数十亿字节,则有时会允许数组边界溢出。攻击者可以触发这个问题,在受影响的系统上执行任意代码。

CVE-2022-35737在64位系统上可被利用,可利用性取决于程序的编译方式。在没有堆栈金丝雀的情况下编译库时确认任意代码执行,存在堆栈金丝雀时未确认,并且在所有情况下都确认拒绝服务。

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

当sqlite3_str_vappendf函数收到一个大字符串,并且格式替换类型为%q、%Q或%w时,就会触发有符号的整数溢出。

研究人员还发现,如果启用 unicode 字符扫描的特殊字符,那么在最坏的情况下有可能实现任意代码执行,或者导致 DoSS 条件。

最后,安全专家Andreas Kellas总结说道:"这是一个在编写时可能并不像错误的错误”。因为追溯到2000年的SQLite源代码,当时系统主要是32位架构"。

参考来源:

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-11-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员阿甘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档