博客 (2)

报道称 NGINX 被曝一组高危漏洞,已潜伏约 18 年,威胁全球约三分之一的网络服务器。

本次曝光的漏洞如下:

CVE-2026-42945 - (9.2 Critical)

CVE-2026-42946 - (8.3 High)

CVE-2026-40701 - (6.3 Medium)

CVE-2026-42934 - (6.3 Medium)

攻击者无需登录认证,只需发送一条特制 HTTP 请求,就能让 NGINX 工作进程崩溃;在合适条件下,还可能拿到服务器远程代码执行权限。


修复方案一

NGINX 升级到 1.31.0 或 1.30.1


修复方案二

若你使用的是 OpenResty 或宝塔面板,没有更新的 nginx 版本选择,那么手动修复此漏洞。

将 rewrite 规则中的未命名正则捕获改成命名捕获。

示例:

原来的写法:

rewrite ^(.*)$ /index.php?s=$1 last;

修改为:

rewrite ^(?<a>.*)$ /index.php?s=$a last;


参考文献:

  1. NGINX Rift: Achieving NGINX Remote Code Execution via an 18-Year-Old Vulnerability

  2. NGINX 曝 9.2 分高危漏洞:潜伏 18 年,威胁全球约 1/3 服务器

xoyozo 半个月前
319
  1. 安装 OpenResty

    在 宝塔面板 - 软件商店 中搜索 nginx,安装版本选择 openresty 版

    image.png

  2. 安装 LuaRocks

  3. 安装 resty.http

    luarocks install lua-resty-http
  4. 检测已安装的组件

    nginx -v
    lua -v
    openresty -v
    luarocks --version
  5. 测试代码

    access_by_lua_block {
        local http = require("resty.http")
    }

    access_by_lua '
        local http = require("resty.http")
    ';
xoyozo 1 年前
3,058