CVE-2026-35611Ruby Addressable库2.3.0至2.9.0之前版本存在正则表达式拒绝服务漏洞。由于URI模板实现中存在易受灾难性回跟踪攻击的正则表达式,攻击者可利用特定修饰符(如*)或多变量运算符构造恶意URI。服务端解析此类URI时将消耗大量CPU资源,导致拒绝服务。
该漏洞源于Addressable库URI模板实现中的两类正则表达式缺陷。一是使用爆炸修饰符(如{foo*})产生的模式包含嵌套无界量词,其匹配复杂度为O(2^n);二是使用+或#运算符的多变量(如{+v1,v2})因逗号分隔符导致歧义回跟踪,复杂度为O(n^k)。攻击者通过发送特制的恶意URI触发这些低效的正则匹配,迫使服务器陷入长时间的计算,从而耗尽资源并瘫痪服务。