CVE-2025-10569CVE-2025-10569是GitLab Community Edition (CE) 和Enterprise Edition (EE)中的一个中等严重性拒绝服务漏洞。该漏洞影响所有从8.3版本开始到18.5.5之前、18.6到18.6.3之前以及18.7到18.7.1之前的版本。漏洞的根本原因在于GitLab在处理外部API调用响应时存在缺陷,攻击者可以通过精心构造的响应数据触发服务端资源耗尽或异常状态,从而导致服务不可用。具体而言,经过身份验证的用户能够利用外部集成功能(如webhooks或外部服务集成),向系统提交精心设计的API响应数据。这些恶意响应可能导致GitLab的worker进程崩溃、内存耗尽或进入无限循环状态,最终造成服务中断。由于该漏洞需要认证用户才能利用,因此主要风险对象为内部威胁或账户被入侵的用户。CVSS评分6.5(中等)反映了该漏洞通过网络可利用、但需要低权限认证且主要影响可用性的特点。建议受影响的GitLab实例尽快升级到18.5.5、18.6.3或18.7.1及更高版本以修复此安全问题。
该漏洞属于拒绝服务(DoS)类型,攻击者利用GitLab处理外部API响应的逻辑缺陷实施攻击。技术原理如下:GitLab EE/CE提供外部服务集成功能,允许用户配置webhooks、CI/CD集成等与外部系统交互。当GitLab发起外部API调用并等待响应时,程序会对返回的响应数据进行解析和处理。漏洞存在于响应解析模块,攻击者通过认证后,可以在集成配置中指定恶意的外部服务端点,或利用已有的合法集成,诱导GitLab向其控制的服务器发起请求并返回精心构造的响应数据。这些响应数据包含畸形或超长的字段值、异常的JSON结构或特定的边界条件数据。GitLab的响应解析代码在处理这些数据时未能进行充分的边界检查,可能导致:1) 内存分配溢出引发OOM Killer终止进程;2) 正则表达式回溯导致CPU耗尽;3) 异常处理逻辑缺陷引发worker进程崩溃。由于GitLab采用多进程架构,单个worker的崩溃不会直接导致整个服务宕机,但随着攻击持续,多个worker相继崩溃将导致任务队列积压,最终表现为服务响应缓慢或不可用。攻击者可通过持续发送请求来维持攻击效果。