CVE-2021-22205 是一个影响 GitLab Community Edition (CE) 和 Enterprise Edition (EE) 的严重远程代码执行 (RCE) 漏洞。该漏洞源于对上传图片文件的验证不当,这些文件由第三方工具 ExifTool 处理。攻击者可以构造一个恶意文件,在 GitLab 服务器上触发任意命令执行。该漏洞的 CVSS 评分为 10.0(严重),并已被观察到在野积极利用。
该漏洞影响从 11.9 开始至以下版本的 GitLab CE/EE:
运行受影响版本的 GitLab 组织面临通过简单文件上传攻击导致服务器完全沦陷的风险。
GitLab 使用 ExifTool 从上传的图片文件中提取并净化元数据。ExifTool 本身包含一个涉及处理特制 DjVu 文件的漏洞(编号为 CVE-2021-22204)。GitLab 错误地信任文件扩展名,并在没有充分验证的情况下将上传的文件传递给 ExifTool。
攻击者可以将恶意的 DjVu 载荷伪装成图片文件。当 GitLab 处理该文件时,ExifTool 会解释恶意元数据并在服务器上执行攻击者控制的命令。该攻击最终被确认可在无需认证的情况下利用,这大大增加了其严重性。
成功利用该漏洞可能允许攻击者:
由于许多组织将 GitLab 实例直接暴露在互联网上,该漏洞代表了严重的供应链和基础设施安全风险。
公开披露后,安全研究人员和威胁行为者迅速开发出了可用的利用程序。多份报告记录了针对可公开访问的 GitLab 实例的大规模扫描和利用尝试。该漏洞后来被添加到 CISA 的已知被利用漏洞 (KEV) 目录中。
管理员应立即升级到以下修补版本之一:
其他建议包括:
在观察到利用活动后,GitLab 官方敦促自管理客户尽快进行更新。
本仓库仅用于教育目的、安全研究和经授权的测试环境。所提供的任何概念验证 (PoC) 代码旨在帮助安全专业人员了解该漏洞并验证修复措施。未经授权对您不拥有或未经明确许可评估的系统进行测试,可能违反适用的法律法规。