查看: 145|回复: 2

F5紧急修复NGINX两枚严重漏洞 可导致远程代码执行

[复制链接]
发表于 3 小时前 来自手机 | 显示全部楼层 |阅读模式
漏洞概述漏洞编号
CVE-2026-42530 / 
CVE-2026-42055漏洞类型Use-After-Free (释放后使用) /
堆缓冲区溢出CVSS
评分9.2 严重 (CVSS v4.0)
攻击向量 网络 (AV:N)
认证要求:无需认证 (PR:N)
用户交互:无需交互 (UI:N)
影响产品 NGINX Open Source / NGINX Plus 及相关组件
技术细节
F5紧急发布安全公告,披露了影响NGINX Open Source和NGINX Plus的两枚严重安全漏洞。这两个漏洞均可能导致远程代码执行(Remote Code Execution, RCE),CVSS v4.0评分高达9.2分,属于极度严重级别。漏洞一:CVE-2026-42530 - HTTP/3 QUIC模块释放后使用漏洞该漏洞存在于ngx_http_v3_module模块中。当NGINX配置启用HTTP/3/QUIC模块时,攻击者可通过构造特制的HTTP/3会话重新打开QPACK编码器流,触发释放后使用(Use-After-Free)漏洞。在ASLR被禁用或攻击者能够绕过ASLR的情况下,可进一步实现远程代码执行。
受影响的高危配置示例 - HTTP/3/QUIC
server {
   listen 443 ssl http3;
   ssl_certificate     /path/to/cert.pem;
   ssl_certificate_key /path/to/key.pem;
   
   # 启用 QUIC 和 HTTP/3
   add_header Alt-Svc 'h3=":443"';
}
漏洞二:
CVE-2026-42055 - HTTP/2/gRPC
代理堆缓冲区溢出漏洞该漏洞涉及ngx_http_proxy_v2_module和ngx_http_grpc_module模块。当同时满足以下配置条件时,未经认证的远程攻击者可触发堆缓冲区溢出:
# 受影响的高危配置示例 - HTTP/2/gRPC代理
server {
   # 条件1: 代理HTTP/2流量
   location /api/ {
       proxy_http_version 2;
       proxy_pass http://backend;
   }
   
   # 条件2: 忽略无效头部(危险配置)
   ignore_invalid_headers off;
   
   # 条件3: 大型客户端头缓冲区(超过2MB)
   large_client_header_buffers 8 4M;  # 危险!
   
   # 或者使用 gRPC 代理
   location /grpc/ {
       grpc_pass grpc://grpc-backend;
   }
需要特别说明的是,这两个漏洞的利用均需要特定配置条件,并非所有NGINX默认安装都会直接受影响。但鉴于NGINX作为互联网基础设施的核心组件地位,大量企业环境中都可能存在这些配置模式,因此漏洞风险仍需高度重视。
攻击链分析
步骤一:
目标识别与配置探测攻击者首先扫描目标服务器,识别NGINX版本及配置。通过HTTP/3 QUIC握手或HTTP/2连接探测,确认是否存在漏洞配置
步骤二:
特制Payload构造根据目标配置,攻击者构造针对特定模块的恶意HTTP请求。对于CVE-2026-42530,需构造异常的HTTP/3 QPACK编码器流;对于CVE-2026-42055,需发送超长或畸形HTTP头部
步骤三:内存破坏触发特制请求到达NGINX后,触发内存破坏。释放后使用漏洞会导致已释放内存被重新引用;堆缓冲区溢出则会导致相邻内存区域被覆盖
步骤四:代码执行在ASLR被禁用或可绕过的情况下,攻击者通过精心布局堆内存,覆写函数指针或返回地址,最终获得代码执行能力
步骤五:持久化与横向移动成功获取代码执行权限后,攻击者可植入后门、窃取配置/证书、截获代理流量,并可能以NGINX为跳板进一步入侵内网
poc检测代码
bashnginx -v
# 输出示例: nginx version: nginx/1.31.1
nginx -V
# 查看完整编译参数,确认是否包含 --with-http_v3_
#!/usr/bin/env python3
# CVE-2026-42530/CVE-2026-42055 配置检测脚本
import os
import re
import sys

def check_nginx_config(config_path):
   """
   检测NGINX配置是否存在CVE-2026-42530/CVE-2026-42055漏洞配置
   """
   vulnerable_configs = []
   
   try:
       with open(config_path, 'r') as f:
           content = f.read()
           
       # 检测CVE-2026-42530 - HTTP/3/QUIC配置
       if re.search(r'listen.*http3', content):
           vulnerable_configs.append({
               'cve': 'CVE-2026-42530',
               'issue': 'HTTP/3/QUIC模块已启用',
               'severity': 'HIGH'
           })
       
       # 检测CVE-2026-42055 - 危险配置组合
       if re.search(r'proxy_http_version\s+2', content) \
          and re.search(r'ignore_invalid_headers\s+off', content):
           
           # 检查large_client_header_buffers是否超过2MB
           buffer_match = re.search(
               r'large_client_header_buffers\s+(\d+)\s+(\d+)([kmKM])?',
               content
           )
           if buffer_match:
               num = int(buffer_match.group(1))
               size = int(buffer_match.group(2))
               unit = buffer_match.group(3) or 'k'
               
               # 转换为KB
               if unit.upper() == 'M':
                   total_kb = num * size * 1024
               else:
                   total_kb = num * size
               
               if total_kb > 2048:  # 超过2MB
                   vulnerable_configs.append({
                       'cve': 'CVE-2026-42055',
                       'issue': 'HTTP/2 + ignore_invalid_headers off + 大型header缓冲区',
                       'severity': 'CRITICAL'
                   })
       
       # 检测 gRPC 配置
       if re.search(r'grpc_pass', content):
           vulnerable_configs.append({
               'cve': 'CVE-2026-42055',
               'issue': '使用gRPC代理模块',
               'severity': 'MEDIUM'
           })
   
   except Exception as e:
       print(f"[-] 读取配置失败: {e}")
       return []
   
   return vulnerable_configs

def main():
   # 扫描常见NGINX配置目录
   config_paths = [
       '/etc/nginx/nginx.conf',
       '/etc/nginx/conf.d/*.conf',
       '/etc/nginx/sites-enabled/*'
   ]
   
   all_vulns = []
   for config_pattern in config_paths:
       if '*' in config_pattern:
           import glob
           for path in glob.glob(config_pattern):
               results = check_nginx_config(path)
               all_vulns.extend([(path, v) for v in results])
       else:
           if os.path.exists(config_pattern):
               results = check_nginx_config(config_pattern)
               all_vulns.extend([(config_pattern, v) for v in results])
   
   if all_vulns:
       print("[!] 检测到 {len(all_vulns)} 处漏洞配置")
       for path, vuln in all_vulns:
           print(f"  - {path}: {vuln['cve']} - {vuln['issue']}")
   else:
       print("[+] 未检测到已知漏洞配置")

if __name__ == "__main__":
   main()
影响范围CVE-2026-42530
影响版本:NGINX Open Source 1.31.0 - 1.31.1(已修复:1.31.2+)
NGINX Gateway Fabric 2.0.0 - 2.6.3(已修复:2.6.4+)
NGINX Gateway Fabric 1.3.0 - 1.6.2
NGINX Instance Manager 2.17.0 - 2.22.0
NGINX Ingress Controller 5.0.0 - 5.5.0
NGINX Ingress Controller 4.0.0 - 4.0.1
NGINX Ingress Controller 3.5.0 - 3.7.2CVE-2026-42055
影响版本:NGINX Open Source 1.31.1(已修复:1.31.2+)NGINX Open Source 1.30.0 - 1.30.2(已修复:1.30.3+)
NGINX Plus 37.0.0 - 37.0.1(已修复:37.0.2.1+)
NGINX Plus R33 - R36(已修复:R36 P6+)
F5 WAF for NGINX 5.9.0 - 5.13.1NGINX App Protect WAF 5.2.0 - 5.8.0 / 4.10.0 - 4.16.0NGINX App Protect DoS 4.3.0 - 4.7.0


参考来源
The Hacker News: F5 Patches Two Critical NGINX Open Source Flaws Enabling Remote Code Execution (https://thehackernews.com/2026/06/f5-patches-two-critical-nginx-open.html)
F5官方安全公告 - CVE-2026-42530 (https://my.f5.com/manage/s/article/K000161616)
F5官方安全公告 - CVE-2026-42055 (https://my.f5.com/manage/s/article/K000161584)

法律声明
以上信息仅供安全研究和授权渗透测试使用。未经授权对他人系统进行测试属于违法行为。
回复

使用道具 举报

发表于 3 小时前 | 显示全部楼层

Re: F5紧急修复NGINX两枚严重漏洞 可导致远程代码执行

感谢分享这个重要的漏洞情报。两个漏洞(CVE-2026-42530和CVE-2026-42055)的CVSS评分高达9.2,而且都涉及远程代码执行,确实需要高度重视。从楼主给出的配置示例来看,虽然利用需要特定的配置条件(如启用HTTP/3或配置了危险组合的HTTP/2代理),但不少企业环境中确实可能存在这些配置。特别是那个 `ignore_invalid_headers off` 配合超大 `large_client_header_buffers` 的组合,很容易被忽视。建议相关的运维和管理员尽快对照提供的检测脚本检查自己的NGINX配置,并及时更新到修复版本。
回复 支持 反对

使用道具 举报

发表于 半小时前 | 显示全部楼层

Re: F5紧急修复NGINX两枚严重漏洞 可导致远程代码执行

感谢楼主分享这么详细的漏洞信息,分析得很透彻,连POC检测脚本都给出了,非常实用。这两个漏洞CVSS 9.2分确实吓人,尤其涉及到RCE,影响面又广。看到攻击链分析里特意提到利用条件需要特定配置,心里稍微踏实一点,但正如楼主所说,很多企业确实会开HTTP/3或者用HTTP/2代理,加上 `ignore_invalid_headers off` 和超大缓冲区这种配置组合也不是没有,所以还是得尽快排查。我这边已经准备对照脚本检查一下自己的配置文件了,另外建议各位也关注一下F5官方公告,及时升级到修复版本,同时检查是否真的有必要开启这些高危配置。再次感谢楼主的高质量情报!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

Hacking Group 021A

旗下站点

态势感知中心

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

关注微信公众号

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2026-6-20 18:16 , Processed in 0.039173 second(s), 19 queries , Gzip On, Redis On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部