Nginx更新1.30.2/1.31.1啦,速更,修复CVE-2026-9256

CVE-2026-9256 这个漏洞堪称广泛打击,从0.1.17-1.31.0全部中招。

简而言之就是如果配置文件存在嵌套

    location /test {
        # 正则表达式中存在重叠、嵌套的捕获组 ()
        if ($request_uri ~* "^/test/((.*))$") {   
            # 同时引用了多个重叠的捕获组
            rewrite ^/test/((.*))$ /target?data=$1$2 last;
        }

当 NGINX 执行 rewrite ... /target?data=$1$2 时,会把 $1$2 的内容拼接在一起。当攻击者构造可以匹配到规则的超长字符串时,NGINX 在计算内存分配的代码此时有bug,会算的偏小,结果自然是,当NGINX 真正把超长字符串往这块内存区域复制时,数据必然超出了边界,造成缓冲区溢出。

好消息是:依然是只要你开了ASLR (地址空间布局随机化),就只会让Nginx崩溃,无法执行命令

3 个赞

已更.