
CVE-2023-4683 - Test
Ce dépôt contient un POC facile à utiliser pour CVE-2023-4683. Il suffit de cloner ce dépôt avec git, puis d'extraire webp-test ou d'exécuter setup-webp-test.sh.
webp-test contient déjà les fichiers nécessaires (commit git 7ba44f80f3b94fc0138db159afea770ef06532a0 de https://chromium.googlesource.com/webm/libwebp/), ainsi que des fichiers spécialement conçus bad.webp et bad.webp.png situés dans le dossier webp_test/examples. Il contient également un fichier png non conçu.
setup-webp-test.sh installera les dépendances de webp, téléchargera le code source vulnérable de webp, compilera webp, téléchargera un injecteur POC pour fabriquer le fichier malveillant, et créera le fichier.
Pour utiliser :
cd webp_test/examples
./dwebp test.webp -o test.png
./dwebp bad.webp -o test.png
./dwebp bad.webp.png -o test.png
Cela signifie que les serveurs sont potentiellement vulnérables à cette CVE. Un attaquant pourrait téléverser un fichier spécialement conçu sur un serveur, et cette CVE s'exécutera si ce serveur traite le fichier, indépendamment de l'extension du fichier, via libwebp.
Je tiens à remercier les personnes suivantes :
https://github.com/mistymntncop - https://github.com/mistymntncop/CVE-2023-4863 - A créé le fichier de fabrication qui injecte un fichier avec les données nécessaires pour tester ce POC
Ben Hawkes - https://blog.isosceles.com/the-webp-0day/ - Analyse détaillée de cette CVE, et a également rédigé les étapes pour configurer le POC