此仓库包含一个易于使用的 CVE-2023-4683 的 POC。只需 git clone 此仓库,然后解压 webp-test 或运行 setup-webp-test.sh。
webp-test 已经包含了必要的文件(来自 https://chromium.googlesource.com/webm/libwebp/ 的 git commit 7ba44f80f3b94fc0138db159afea770ef06532a0),并且在 webp_test/examples 文件夹中包含了特制的 bad.webp 和 bad.webp.png 文件。它还包含一个未特制的 png 文件。
setup-webp-test.sh 将安装 webp 的依赖项,下载存在漏洞的 webp 源代码,编译 webp,下载 POC 注入器以构造恶意文件,并生成该文件。
使用方法:
cd webp_test/examples
./dwebp test.webp -o test.png
./dwebp bad.webp -o test.png
./dwebp bad.webp.png -o test.png
这意味着服务器可能容易受到此 CVE 的影响。攻击者可以将特制的文件上传到服务器,如果服务器通过 libwebp 处理该文件(无论文件扩展名如何),此 CVE 将会被触发。
我要感谢以下人员:
https://github.com/mistymntncop - https://github.com/mistymntncop/CVE-2023-4863 - 创建了注入所需数据的构造文件以测试此 POC
Ben Hawkes - https://blog.isosceles.com/the-webp-0day/ - 对此 CVE 进行了详细分析,并编写了如何设置 POC 的步骤