CVE-2025-61581CVE-2025-61581是Apache Traffic Control项目中存在的一个不安全正则表达式复杂度(Inefficient Regular Expression Complexity)漏洞,也被称为正则表达式拒绝服务攻击(ReDoS)。Apache Traffic Control是一个开源的CDN(内容分发网络)流量控制平台,其中Traffic Router组件负责将用户请求路由到最佳的缓存服务器。该漏洞允许具有Traffic Router管理界面访问权限的用户提交恶意的正则表达式模式,这些模式在执行时会导致严重的回溯问题,使服务器CPU资源被大量消耗,最终导致服务不可用。
该漏洞的CVSS评分为7.5,属于高危级别。攻击向量为网络攻击(AV:N),攻击复杂度低(AC:L),无需任何特权(PR:N),也无需用户交互(UI:N)。该漏洞对机密性和完整性没有影响(C:N/I:N),但对可用性影响为高(A:H)。
值得注意的是,Apache Traffic Control项目已被官方宣布退役(retired),因此维护者不会发布修复该漏洞的版本。建议用户寻找替代方案,或将实例访问权限限制为受信任的用户。该漏洞仅影响不再受维护者支持的产品版本。
该漏洞由Apache安全团队发现,并于2025年10月16日通过Apache官方邮件列表和OSS-Security邮件列表公开披露。
该漏洞的核心原理是正则表达式灾难性回溯(Catastrophic Backtracking)。当用户向Traffic Router的管理界面提交包含特定模式的正则表达式时,系统在编译或执行该正则表达式时会触发指数级的时间复杂度,导致CPU资源被耗尽。
从技术角度看,ReDoS攻击通常利用以下几种模式:
1. 嵌套量词:如 (a+)+ 模式,当输入为不匹配的字符串时(如大量'a'后跟一个非'a'字符),正则引擎会尝试所有可能的分割方式,导致回溯次数呈指数级增长。
2. 交替重叠:如 (a|a)* 模式,引擎会尝试每一种可能的匹配路径。
3. 贪婪量词与复杂模式结合:如 (.*a){x} 模式。
在Apache Traffic Control的Traffic Router组件中,用户可以通过管理接口配置正则表达式用于请求匹配、路由规则等场景。系统未对用户提交的正则表达式进行充分验证或复杂度限制,攻击者可以精心构造恶意正则表达式,配合精心设计的输入字符串,使正则匹配过程消耗大量CPU时间和内存资源。
攻击者只需要具有管理界面的访问权限(无需认证或低权限认证),通过网络发送精心构造的正则表达式模式和匹配的输入数据,即可触发拒绝服务。由于正则匹配通常在请求处理的关键路径上执行,单个恶意请求就可能导致整个Traffic Router实例无响应,影响整个CDN的流量分发功能。
利用方式相对简单:攻击者登录管理界面,提交一个具有灾难性回溯特征的正则表达式模式,然后通过正常的客户端请求触发该模式的匹配,即可导致服务不可用。