【复现】GNU Wget2 目录穿越漏洞(CVE-2025-69194)

发布时间 2026-01-06

GNU Wget2是经典下载工具Wget的现代化继任者,它通过多线程、HTTP/2支持及递归下载功能,提供了更高效、更快速的命令行下载体验。


Metalink是一种基于XML的元数据文件格式,它将一个文件的多个下载镜像地址和校验信息整合在一起,让下载工具能实现自动防错、校验以及跨服务器的分段加速下载。


2025年12月28日,GNU发布了更新,修复了GNU Wget2中通过Metalink目录穿越进行任意文件写入漏洞(CVE-2025-69194),CVSS评分8.8分(高)。该漏洞可导致全球约1500万台运行GNU Wget2的设备面临风险。包括:


  • Linux服务器(Debian/Ubuntu/CentOS等主流发行版预装)
  • DevOps自动化流水线(CI/CD工具链依赖)
  • 企业网络设备(路由器/防火墙的固件更新模块)
  • 嵌入式开发环境(Yocto等构建系统)


目前,该问题已在GNU Wget2 2.2.1版本中修复,建议相关用户及时更新至最新版本。


漏洞描述


GNU Wget2在处理Metalink文档时发现了一个安全问题,该应用程序无法正确验证Metalink中提供的文件路径。攻击者可以利用此行为将文件写入系统中的非预期位置,导致数据丢失,或进一步损害用户的环境。


GNU官方描述为:A security issue was discovered in GNU Wget2 when handling Metalink documents. The application fails to properly validate file paths provided in Metalink elements. An attacker can abuse this behavior to write files to unintended locations on the system. This can lead to data loss or potentially allow further compromise of the user’s environment.


影响范围


GNU Wget2 < 2.2.1 


漏洞原理


该漏洞源于Wget2对Metalink文档的路径校验机制缺陷。当处理Metalink文件时,程序未正确验证文件路径中的特殊字符,导致攻击者可通过构造恶意Metalink文件内容实现以下攻击(具体影响取决于运行Wget2的用户权限):

  • 目录穿越:突破下载目录限制。

  • 文件覆盖:向任意系统路径写入恶意内容。

  • 权限提升:通过覆盖系统配置文件获取高权限。


漏洞复现


验证环境:Ubuntu22.04 GNU Wget2 1.99.1


图片1.png

图片2.png


安全建议


    立即升级:

    • GNU官方已发布修复版本Wget2 2.2.1,可通过包管理器更新。

    临时缓解措施:

    • 禁用Metalink功能:wget2 --no-metalink FILE。

    • 限制下载路径:wget2 -P /safe/directory/。

    • 验证Metalink文件完整性:使用--checksum参数。

    权限控制:

    • 以非特权用户身份执行Wget2。

    • 配置SELinux/AppArmor强制访问控制策略。


    参考链接:

    [1]https://gitlab.com/gnuwget/wget2/-/commit/684be4785280fbe6b8666080bbdd87e7e5299ac5

    [2]https://access.redhat.com/security/cve/cve-2025-69194


    启明星辰积极防御实验室(ADLab)


    ADLab成立于1999年,是中国安全行业最早成立的攻防技术研究实验室之一,微软MAPP计划核心成员,“黑雀攻击”概念首推者。截至目前,ADLab已通过 CNVD/CNNVD/NVDB/CVE累计发布安全漏洞7000余个,持续保持国际网络安全领域一流水准。实验室研究方向涵盖基础安全研究、运营商基础网络设施安全研究、移动终端安全研究、云安全研究、信创安全研究、物联网安全研究、车联网安全研究、工控安全研究、无线安全研究、数据安全研究、AI安全研究、低空安全研究、高级威胁研究、攻防体系建设。研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等。


    adlab.jpg