CVE-2025-12983CVE-2025-12983是GitLab Community Edition (CE) 和Enterprise Edition (EE)中的一个拒绝服务(DoS)漏洞。该漏洞影响从16.9版本开始到18.3.6之前的所有版本,以及18.4到18.4.4之前和18.5到18.5.2之前的所有版本。漏洞源于GitLab在处理Markdown内容时的渲染机制存在缺陷,攻击者(已认证的低权限用户)可以通过提交包含特殊构造的嵌套格式模式的Markdown内容来触发该漏洞。当GitLab尝试解析和渲染这些恶意构造的Markdown时,可能会导致服务器资源被大量消耗,从而造成拒绝服务条件,影响GitLab实例的可用性。该漏洞的CVSS评分为3.5,属于低危级别,主要影响系统的可用性。由于攻击需要认证且需要构造特定的Markdown模式,因此利用难度相对较高。GitLab官方已于2025年11月12日发布了修复版本18.5.2、18.4.4和18.3.6,建议所有受影响的用户尽快升级到这些安全版本以消除风险。
该漏洞的根本原因在于GitLab的Markdown渲染器在处理嵌套格式标签时存在递归处理问题。当用户提交包含多层嵌套的Markdown格式标签(如多重嵌套的加粗、斜体、链接等标签组合)时,渲染器会进行深度递归解析。攻击者可以构造特定模式的嵌套内容,导致渲染过程消耗大量CPU和内存资源。具体来说,恶意构造的Markdown可能包含数百层嵌套的格式化标签(如[[**[[**text**]]**]]这样的多层嵌套结构),当GitLab的markdown处理模块尝试解析这些内容时,会触发指数级的计算复杂度,最终导致服务资源耗尽。由于GitLab在多个功能点都会渲染Markdown(包括问题描述、评论、维基页面等),攻击者有多个入口点可以利用此漏洞。CVSS向量显示攻击复杂度为高(AC:H),表明构造有效的攻击载荷需要一定的技术能力。