0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

WebP图像编解码库libwebp存在堆缓冲区溢出漏洞

哆啦安全 来源:哆啦安全 2023-09-25 09:48 次阅读

一、漏洞概述

WebP图像编解码库libwebp存在堆缓冲区溢出漏洞(CVE-2023-4863),攻击者可以通过发送植入恶意代码的WebP图像获得设备的部分权限。

WebP是由Google开发的一种图像格式,可为网络图像提供有损和无损压缩。它旨在减小图像的文件大小,同时不损失其视觉质量。Google Chrome是由Google开发的一款支持WebP图像格式的网页浏览器。

由于libwebp的使用范围广泛,不仅应用于各大浏览器,还包含在系统的底层库中 (例如:Android),以及目前满大街都是的Electron中无一例外均使用了libwebp 库。请各位尽快更新浏览器及使用Electron技术的相关应用。

但CVE-2023-4863并未包含在Google即将在下月发布的10月安全更新之中 (一般 Google会提前半个月至一个月向合作厂商发布下月安全补丁,以便厂商能够迅速修复漏洞),考虑到该漏洞已经可能有野外利用的例子,Android设备目前相对而言还是比较危险的,不知Google后续是否有额外更新计划来紧急修复该漏洞。否则按现有更新计划,可能就要等到11月安全补丁才会修复了。

也希望Google能够像之前爆出蓝牙漏洞时那样,为已经停止支持的旧设备 (如 Pixel 4a) 提供计划外安全更新。 补充:根据Mishaal Rahman老师的消息,Google有可能推出2023-10-06安全补丁等级来专门修复该漏洞,但若厂商无意更新,则还要迟至11月安全补丁才会修复。

  # checkout webp
$ git clone https://chromium.googlesource.com/webm/libwebp/ webp_test
$ cd webp_test/
  # checkout vulnerable version
$ git checkout 7ba44f80f3b94fc0138db159afea770ef06532a0
  # enable AddressSanitizer
$ sed -i 's/^EXTRA_FLAGS=.*/& -fsanitize=address/' makefile.unix
  # build webp
$ make -f makefile.unix
$ cd examples/
  # fetch mistymntncop's proof-of-concept code
$ wget https://raw.githubusercontent.com/mistymntncop/CVE-2023-4863/main/craft.c
  # build and run proof-of-concept
$ gcc -o craft craft.c
$ ./craft bad.webp
  # test trigger file
$ ./dwebp bad.webp -o test.png
=================================================================
==207551==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x626000002f28 at pc 0x56196a11635a bp 0x7ffd3e5cce90 sp 0x7ffd3e5cce80
WRITE of size 1 at 0x626000002f28 thread T0
#0 0x56196a116359 in BuildHuffmanTable (/home/isosceles/source/webp/webp_test/examples/dwebp+0xb6359)
#1 0x56196a1166e7 in VP8LBuildHuffmanTable (/home/isosceles/source/webp/webp_test/examples/dwebp+0xb66e7)
#2 0x56196a0956ff in ReadHuffmanCode (/home/isosceles/source/webp/webp_test/examples/dwebp+0x356ff)
#3 0x56196a09a2b5 in DecodeImageStream (/home/isosceles/source/webp/webp_test/examples/dwebp+0x3a2b5)
#4 0x56196a09e216 in VP8LDecodeHeader (/home/isosceles/source/webp/webp_test/examples/dwebp+0x3e216)
#5 0x56196a0a011b in DecodeInto (/home/isosceles/source/webp/webp_test/examples/dwebp+0x4011b)
#6 0x56196a0a2f06 in WebPDecode (/home/isosceles/source/webp/webp_test/examples/dwebp+0x42f06)
#7 0x56196a06c026 in main (/home/isosceles/source/webp/webp_test/examples/dwebp+0xc026)
#8 0x7f7ea8a8c082 in __libc_start_main ../csu/libc-start.c:308
#9 0x56196a06e09d in _start (/home/isosceles/source/webp/webp_test/examples/dwebp+0xe09d)
0x626000002f28 is located 0 bytes to the right of 11816-byte region [0x626000000100,0x626000002f28)
allocated by thread T0 here:
#0 0x7f7ea8f2d808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
#1 0x56196a09a0eb in DecodeImageStream (/home/isosceles/source/webp/webp_test/examples/dwebp+0x3a0eb)
SUMMARY: AddressSanitizer: heap-buffer-overflow (/home/isosceles/source/webp/webp_test/examples/dwebp+0xb6359) in BuildHuffmanTable
...


二、影响范围

Google Chrome(Windows)版本 < 116.0.5845.187/.188

Google Chrome(Mac/Linux)版本 < 116.0.5845.187

三、安全措施3.1升级版本

目前该漏洞已经修复,受影响用户可升级到以下版本:

Google Chrome(Windows)版本 >=116.0.5845.187/.188

Google Chrome(Mac/Linux)版本 >=116.0.5845.187

四、下载地址

五、手动检查更新
可在Chrome 菜单-【帮助】-【关于 Google Chrome】检查版本更新,并在更新完成后重新启动。 8ec71ef2-5b2f-11ee-939d-92fbcf53809c.png   8eda626e-5b2f-11ee-939d-92fbcf53809c.png   升级后的版本号:Version 117.0.5938.92 (Official Build) (64-bit)

8eebbb68-5b2f-11ee-939d-92fbcf53809c.png

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Android
    +关注

    关注

    12

    文章

    3851

    浏览量

    125642
  • Google
    +关注

    关注

    5

    文章

    1714

    浏览量

    56792
  • 代码
    +关注

    关注

    30

    文章

    4555

    浏览量

    66772

原文标题:WebP图像编解码库libwebp存在堆缓冲区溢出漏洞(升级Google Chrome浏览器为最新版本)

文章出处:【微信号:哆啦安全,微信公众号:哆啦安全】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CC++源程序缓冲区溢出漏洞的静态检测

    CC++源程序缓冲区溢出漏洞的静态检测.
    发表于 08-16 00:43

    缓冲区溢出演示

    本帖最后由 zhouhua1342 于 2013-11-21 20:55 编辑 通过缓冲区溢出例子,演示如果利用程序漏洞获取整个固件,从而破解加密机制。 缓冲区
    发表于 10-31 22:09

    溢出队列缓冲区

    我用和谐建立了CDC的USB堆栈。如果我慢慢地发送数据,效果会很好。我想尽可能快地发送数据。当这样做时,我溢出队列缓冲区。USB_DEVICE_CDC_Write函数返回以下错误,USB_DEVICE_CDC_RESULT_ERROR_TRANSFER_QUEUE_FUL
    发表于 03-24 09:51

    缓冲区溢出的危害及避免缓冲区溢出的三种方法

    1. 蠕虫病毒简介2. 缓冲区溢出3. 缓冲区溢出举例4. 缓冲区溢出的危害5. 内
    发表于 03-02 07:55

    缓冲区溢出的危害及避免缓冲区溢出的三种方法

    1. 蠕虫病毒简介2. 缓冲区溢出3. 缓冲区溢出举例4. 缓冲区溢出的危害5. 内
    发表于 03-30 14:01

    关于增大MEDIACODEC的解码输入缓冲区的调试意见

    的现象!这是什么原因呢?我的U盘写入速度已经很高了,大概有20M/S,是2.0的USB!最近在播放视频的同时加入了视频录制功能,发现在解码隔行视频的时候,我的缓冲区始终会爆掉!经查找原因
    发表于 08-24 16:25

    基于中间汇编的缓冲区溢出检测模型

    提出一种基于中间汇编的缓冲区溢出检测模型,用于对可执行代码进行静态分析和检测。采用中间汇编形式可以使算法对硬件平台透明,增强代码可阅读性,有利于对缓冲区溢出
    发表于 03-29 11:10 20次下载

    基于状态图的缓冲区溢出攻击分析

    结合缓冲区溢出攻击产生的原理,分析缓冲区溢出攻击代码的结构,论述Snort规则对缓冲区溢出攻击的
    发表于 04-10 08:46 32次下载

    二进制环境下的缓冲区溢出漏洞动态检测

    提出一种在二进制环境下挖掘缓冲区溢出漏洞的方法。结合动态与静态挖掘技术对二进制环境下的程序作进一步的漏洞查找。静态方法主要对二进制程序中函数栈帧的特征和汇编语
    发表于 04-10 09:54 27次下载

    二进制扫描的缓冲区溢出漏洞探测技术

    缓冲区溢出漏洞自从出现以来,一直引起许多严重的安全性问题,而且随着软件系统越做越大,越来越复杂,缓冲区溢出
    发表于 08-10 10:19 17次下载

    Windows缓冲区溢出攻击的实例研究

    本文首先详细分析了Windows 缓冲区溢出的基本原理和具体流程。在此基础上,通过对一个Windows 网络缓冲区溢出攻击实例的详细调试分析,研究了Windows
    发表于 08-28 09:44 17次下载

    缓冲区溢出攻击的防护技术分析

    缓冲区溢出攻击已经成为网络攻击的主要方式。本文首先分析了缓冲区溢出攻击的基本原理,然后分析了形成缓冲区
    发表于 09-02 10:50 9次下载

    缓冲区溢出攻击的原理和防范技术分析

    基于解决缓冲区溢出这一普遍发生的网络安全漏洞的目的,通过软件、硬件技术层面的验证方法,结合人工检查、静态发现技术、动态防御技术等实验手段,得出了在向缓冲区中传输数
    发表于 05-27 16:20 17次下载

    消除IoT上的缓冲区溢出漏洞

    黑客可以使用堆栈缓冲区溢出将可执行文件替换为恶意代码,从而允许他们利用堆内存或调用堆栈本身等系统资源。例如,控制流劫持利用堆栈缓冲区溢出将代码执行重定向到正常操作中使用的位置以外的位置
    的头像 发表于 10-12 15:25 628次阅读
    消除IoT上的<b class='flag-5'>缓冲区</b><b class='flag-5'>溢出</b><b class='flag-5'>漏洞</b>

    消除物联网上的缓冲区溢出漏洞

      黑客可以使用堆栈缓冲区溢出将可执行文件替换为恶意代码,从而使他们能够利用堆内存或调用堆栈本身等系统资源。例如,控制流劫持利用堆栈缓冲区溢出将代码执行重定向到正常操作中使用的位置以外
    的头像 发表于 12-02 11:57 717次阅读