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崩溃,无法执行命令

