libwebp漏洞(CVE-2023-4863)快速排查工具

admin 2024年3月14日11:13:21评论7 views字数 3981阅读13分16秒阅读模式

Libwebp 是谷歌提供用于编码和解码 WebP 格式图像的库,作为 WebP 规范的参考实现。WebP 在 Google Chrome、Safari、Firefox、Edge、Opera 浏览器以及许多其他工具和软件库中被原生支持,在客户端、服务端均有使用。

此前我们分析了 libwebp 漏洞(CVE-2023-4863/CVE-2023-5129)的影响,其利用难度高,但影响较为广泛。从漏洞公开以来,不少企业安全团队着手排查存在 libwebp 依赖的软件,下游软件厂商也在积极升级版本,陆续发布了不少受影响的安全通告。

libwebp堆缓冲区溢出漏洞影响分析

墨菲安全实验室,公众号:墨菲安全实验室CVE-2023-5129 libwebp堆缓冲区溢出漏洞影响分析

从实际环境来看,需要排查的对象往往是已经编译构建后的应用、制品,缺少源码,二进制排查难度较高。

因此我们开源了针对该漏洞的快速排查工具,基于特征字符串可以快速从运行进程打开的文件中、目标文件中识别是否存在 libwebp 依赖,便于进一步排查影响应用和影响组件。

项目地址:

https://github.com/murphysecurity/libwebp-checker

使用方式

[可选]通过 token 加载哈希数据

通过 --token 指定 token 

https://www.murphysec.com/console中设置-访问令牌,可以下载云端的哈希数据,用于直接匹配我们已经识别过的文件结果,节省分析时间

指定扫描模式

  • 通过 -f 参数扫描指定目录路径

bash libwebp-checker.sh --token xxx -f /path_you_want_scan/
  • 通过 -p 参数扫描当前服务器的所有进程文件

bash libwebp-checker.sh --token xxx -p

查看结果

命令行会打印受影响的文件名、进程 ID 以及匹配到的特征关键字,如WebPCopyPlane,便于后续进一步定位和修复。

工具原理

1. CVE-2023-4863漏洞影响libwebp 0.5.0-1.3.1版本,通过对进程打开的文件、扫描目标应用目录下的文件进行解压提取、分析,识别是否存在受影响版本libwebp。

2. 针对RPM包、jar/war/aar包会进行解压提取,而后通过strings、fgrep等方式对二进制文件进行特征查找。

3. libwebp 0.5.0版本开始新增了WebPCopyPlane和WebPCopyPixels函数作为导出函数,漏洞缺陷函数为VP8LBuildHuffmanTable,因此可以在文件中匹配这些特征函数名,从而识别识别有漏洞的libwebp。

4. 1.3.2安全版本新增了VP8LHuffmanTablesAllocate函数,如果目标文件在编译的时候没有经过strip去掉符号表,其也可作为版本判断依据。

效果

通过对进程扫描可以发现存在libwebp依赖的典型软件:

微信: /Applications/WeChat.app/Contents/MacOS/WeChat钉钉: /Applications/DingTalk.app/Contents/MacOS/DingTalk企业微信: /Applications/企业微信.app/Contents/PlugIns/imageformats/libqwebp.dylib腾讯会议: /Applications/TencentMeeting.app/Contents/Frameworks/WeMeetFramework.framework/Versions/3.19.22.429/PlugIns/imageformats/libqwebp.dylib

通过对maven中央仓库中的组件进行分析,我们发现以下java组件中也包含了libwebp的动态链接库:

ai.edgestore:engineapp.cash.paparazzi:layoutlib-native-linuxapp.cash.paparazzi:native-linuxcn.ellabook:flutter-saassdkcn.ellabook:saassdkcn.fly2think:SmartPanoramacn.fly2think:SmartPanoramaXcn.rongcloud.sdk:fu_beautifiercom.aiyaapp.aiya:AyEffectSDKcom.computinglaboratory:opencvcom.criteo:jvipscom.eworkcloud.starter:ework-cloud-starter-imagecom.eworkcloud:ework-cloud-starter-imagecom.facebook.fresco:webpsupportcom.facebook.spectrum:spectrum-webpcom.freeletics.fork.paparazzi:layoutlib-native-linuxcom.github.gotson:webp-imageiocom.github.jenly1314.WeChatQRCode:opencv-armv64com.github.jenly1314.WeChatQRCode:opencv-armv7acom.github.jenly1314.WeChatQRCode:opencv-x86com.github.jenly1314.WeChatQRCode:opencv-x86_64com.github.usefulness:webp-imageiocom.github.zjupure:webpdecodercom.innov8tif.okaycam:opencvcom.innov8tif.okayid:opencvcom.scanzy:ScanzyBarcodeScannerSDKcom.waicool20.skrypton:skrypton-native-linux64de.marcreichelt:webp-backportde.sg-o.lib:opencvid.mob:api-clientio.bitbucket.mobscannersdk:customdocscannerlibio.bitbucket.mobscannersdk:docscannerlibio.github.anylifezlb:slientEngineio.github.darkxanter:webp-imageioio.github.greycode:ocrliteio.github.humbleui:skija-linuxio.github.humbleui:skija-linux-x64io.github.izuiyou:octoflutterio.github.jiemakel:octavo-assembly_2.12io.github.zumikua:webploader-desktopio.johnsonlee.layoutlib:native-linuxio.tiledb:tiledb-cloud-javanet.ifok.image:webp4jorg.demen.android.opencv:opencvorg.demen.android.opencv:opencv-imgorg.demen.android.opencv:opencv_worldorg.godotengine:godotorg.jetbrains.skiko:skiko-awt-runtime-linux-arm64org.jetbrains.skiko:skiko-awt-runtime-linux-x64org.jetbrains.skiko:skiko-jvm-runtime-linux-arm64org.jetbrains.skiko:skiko-jvm-runtime-linux-x64org.lucee:sejda-webporg.openpnp:opencvorg.pireco:kypsdkorg.robolectric:nativeruntime-dist-compatorg.sejda.imageio:webp-imageioorg.sejda.webp-imageio:webp-imageio-sejdascience.aist:aistcv

局限性

libwebp-checker只是个在快速排查的小工具,还存在很多局限,包括:

  1. 当前shell实现针对MacOS/Linux环境,解压提取只适配了rpm、jar/war/aar包,其他打包格式没有提取。
  2. 从当前识别方式上会存在漏报,主要是如果对libwebp重新封装则可能不存在原本的导出函数、缺陷函数和已修复版本如果去除了符号则不能识别。
  3. 包含受影响版本的libwebp,并不意味着漏洞可被触发,还需要进一步的漏洞可达性分析

因此开源排查工具也是为了抛砖引玉,欢迎大家交流,分享更好的思路。

【关于墨菲安全】

墨菲安全是一家专注于软件供应链安全产品方向的科技创新公司,团队核心成员均来自百度、华为、贝壳,拥有超过十年的企业安全建设和攻防经验。目前已服务蚂蚁、小米、快手、美团、中国银行、中国移动、中国电信等数十家企业级客户。

【关于墨菲安全实验室】

墨菲安全实验室是墨菲未来科技旗下的安全研究团队,专注于软件供应链安全相关领域的技术研究,关注的方向包括:开源软件安全、程序分析、威胁情报分析、企业安全治理等。

原文始发于微信公众号(墨菲安全实验室):libwebp漏洞(CVE-2023-4863)快速排查工具

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月14日11:13:21
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   libwebp漏洞(CVE-2023-4863)快速排查工具http://cn-sec.com/archives/2090486.html

发表评论

匿名网友 填写信息