CVE-2023-41064一个被严重低估的核弹漏洞
2023-10-7 14:57:20 Author: mp.weixin.qq.com(查看原文) 阅读量:30 收藏

最近开源软件又爆出一个十级漏洞,该漏洞冲击范围巨大,涉及数百万不同的应用程序,其中也包括 iOS、Android 应用程序以及使用 Electron 构建的跨平台应用程序。

这个漏洞两周前就已经被苹果和谷歌发现,但苹果和谷歌在披露漏洞时缺乏关键信息,造成了“巨大的盲点”,导致全球范围内其他开发者提供的大量应用程序未能得到修补,这些应用程序可能一直处于攻击危险之中。

在iPhone 15系列发布会前夕,苹果面向仍在使用老系统的iPhone用户发布了iOS 15.7.9版本更新,内部版本号为19H365。

苹果官方表示,该更新提供重要安全性更新,建议所有用户安装。

根据升级日志,iOS 15.7.9主要修复了编号为CVE-2023-41064的安全漏洞,涉及苹果Image I/O框架,当设备处理“恶意制作的图像”时,就可能会被攻击。

最初这个漏洞的编号是 CVE-2023-4863,CVSS 平分为 8.8 分 / 10 分,漏洞描述是 Chrome 浏览器中 WebP 缓冲区溢出,这允许攻击者进行越界内存写入。

但谷歌觉得这个漏洞的影响实在太大,这可能是谷歌创造 WebP 图像格式至今,发生的最大的一起安全问题,谷歌觉得有必要重新申请一个 CVE 并给出最高评分让业界关注,尤其是要向社区澄清这个漏洞是 libwebp 开源库的,不是 Chrome 的,仅仅是 Chrome 修复漏洞无济于事。

为什么能给出满分的评级:

WebP 是谷歌创造的一种压缩图片格式(前身是 VP8,但 VP8 并非谷歌开发,而是谷歌收购的技术),目前已经被所有主流浏览器、相当多的软件使用,软件要想支持 WebP 需要引入 libwebp 开源库,而漏洞就在这个开源库里。

也就是说理论上只要某个软件支持加载 WebP 图像那么它必然是引入了 libwebp 库,所以存在风险。

国内安全公司深蓝检测微信、钉钉、QQ 等软件,发现这些软件都引入了 libwebp 库,但到现在都还没有更新,受到这枚漏洞的影响。

潜在的攻击:

臭名昭著的商业间谍软件开发商 NSO 开采了一枚新的 0-day,NSO 的商业间谍软件飞马座 (Pegasus) 使用了零点击漏洞,即只需要知道目标 iPhone 用户的手机号码或 iMessage 号码,向其发送特制消息即可感染 iPhone,全程无需用户进行任何交互,进而实现全方位监控。

公民实验室提到的这个漏洞编号是 CVE-2023-41064,并不是 libwebp 漏洞,但随后公民实验室和苹果联合通报了 Chrome 中的越界写入,这个漏洞就是 libwebp 漏洞 (CVE-2023-4863)。

目前 libwebp 开源库的这个漏洞 PoC 已经暴露在网上,被利用只是时间问题,这么说不对,应该说利用已经开始了,毕竟黑客们可是非常积极的。

谷歌单独申请了一个编号就是希望提醒业界赶紧修复起来,不然这可能会造成一次严重的安全危机。

谷歌在新提交的漏洞描述中补充了更多细节。之前提交中的描述是:

116.0.5845.176 版本之前的谷歌 Chrome 中,Webp 的堆缓冲区溢出漏洞允许远程攻击者在精心设计的 HTML 页面中执行越界内存写入。(Chromium 安全严重度:严重)

现在新的描述调整为:

使用特定 Webp 无损格式文件,libwebp 可能将数据越界写入堆。ReadHuffmanCodes() 函数在分配 HuffmanCode 缓冲区时,其大小来自预先计算出的 size 数组:kTableSize。color_cache_bits 值的定义需要使用此 size。kTableSize 数组仅考虑到 8-bit 一级表查找,但未考虑到二级表查找的 size。而 libwebp 最多只允许 15-bit(MAX_ALLOWED_CODE_LENGTH) 的代码大小。因此当 BuildHuffmanTable() 尝试填充二级表时,可能会写入越界数据。对尺寸不足数组的越界写入发生在 ReplicateValue 当中。

简单讲,Webp 库中的一个 bug 似乎会导致图像解码过程时发生堆缓冲区溢出。就是说,黑客可以向目标 iPhone 发送短信,借此实现设备入侵。对,你没有看错,黑客可以向受害者发送特制的图像来访问对方 iPhone。该图像在被接收后会由 iPhone 中捆绑的 Webp 解码器负责处理,这样黑客就能在 iPhone 上执行命令,且无需用户交互或者许可。

在安全社区中,这类问题被称为零日(0-day)漏洞,即“攻击者先于厂商所发现的软件漏洞”。而这次的 bug,存在大概有 4 到 10 年了吧。而且之所以闹这么大,就是因为 Webp 目前存在于全球数十亿台设备之上。

目前,Electron 修补了该漏洞(https://github.com/electron/electron/pull/39828)。

参考链接

https://arstechnica.com/security/2023/09/incomplete-disclosures-by-apple-and-google-create-huge-blindspot-for-0-day-hunters/

https://www.163.com/dy/article/IFV0QS2F0511A5GF.html

https://arstechnica.com/security/2023/09/google-quietly-corrects-previously-submitted-disclosure-for-critical-webp-0-day/

https://blog.isosceles.com/the-webp-0day/https://medium.com/@shmuelr/my-thoughts-on-the-webp-exploit-98c2e024929f

https://stackdiary.com/critical-vulnerability-in-webp-codec-cve-2023-4863/

https://adamcaudill.com/2023/09/14/whose-cve-is-it-anyway/


文章来源: https://mp.weixin.qq.com/s?__biz=MzI2MzA3OTgxOA==&mid=2657164861&idx=1&sn=82647f320c8bfe056b3d391169089f8a&chksm=f1d4ecd8c6a365ce9f6e41023e895e42acb6ee793af7d696ae8ca16de0f5d9098e1e1482bf67&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh