
CVE-2023-4683 - Тест
Этот репозиторий содержит простой в использовании POC для CVE-2023-4683. Просто клонируйте этот репозиторий и либо распакуйте webp-test, либо запустите setup-webp-test.sh.
webp-test уже содержит необходимые файлы (git commit 7ba44f80f3b94fc0138db159afea770ef06532a0 из https://chromium.googlesource.com/webm/libwebp/), а также специально созданные файлы bad.webp и bad.webp.png, расположенные в папке webp_test/examples. В нем также есть обычный 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. Злоумышленник может загрузить специально созданный файл на сервер, и эта CVE сработает, если сервер обработает файл, независимо от расширения файла, через libwebp.
Я хотел бы поблагодарить следующих людей:
https://github.com/mistymntncop - https://github.com/mistymntncop/CVE-2023-4863 - Создал craft-файл, который внедряет файл с необходимыми данными для тестирования этого POC
Ben Hawkes - https://blog.isosceles.com/the-webp-0day/ - Подробный анализ этой CVE, а также написал шаги по настройке POC