当前位置: 首页 > news >正文

CVE-2026-42945漏洞分析及复现

一、前言

2026年5月12日,NGINX 官方发布紧急安全公告,披露了一组潜伏长达18年的高危漏洞,其中最严重的CVE-2026-42945(代号“NGINX Rift”)的 CVSS v4.0 评分高达9.2分(Critical)。

二、漏洞简介

NGINX Rift是指2026年5月12日NGINX官方披露的高危漏洞CVE-2026-42945,是存在于NGINX rewrite模块中的堆缓冲区溢出漏洞。该漏洞代号由安全研究团队depthfirst提出,因18年潜伏时间被称为"灯下黑"漏洞,CVSS v4.0评分9.2分(Critical),覆盖NGINX Open Source 0.6.27至1.30.0版本及NGINX Plus R32至R36版本。
NGINX Rift的本质是ngx_http_rewrite_module模块中内部标志位管理错误,导致字符串处理时出现缓冲区溢出。攻击者无需认证,仅需构造特定HTTP请求即可触发:当Rewrite指令包含未命名正则捕获组(如1、2)且URL含特殊字符(+、%、&等)时,内存计算长度与实际写入字节数不匹配,造成堆缓冲区溢出。该漏洞可导致worker进程崩溃(DoS)、敏感信息泄露,在关闭ASLR条件下甚至实现远程代码执行(RCE),因NGINX多进程架构允许攻击者反复试错,威胁极高。

三、漏洞影响

NGINX占据全球37.2%的Web服务器市场,此次漏洞影响面极广,需引起重视。

影响所有主流 Linux 发行版(Debian、Ubuntu、CentOS、RHEL 等)

所有使用 NGINX 作为反向代理、负载均衡、API 网关、静态文件服务器的场景均受影响

四、漏洞复现

在当前目录新建 setup.sh 脚本

cat > setup.sh <<'EOF' #!/bin/bash set -e cd "$(dirname "$0")" echo "Building Docker image (compiles nginx from source)..." docker compose -f env/docker-compose.yml build echo "" echo "Done. To run:" echo "" echo "# Terminal 1 (server) — nginx runs with ASLR disabled (setarch -R):" echo " docker compose -f env/docker-compose.yml up" echo "" echo "# Terminal 2 (attacker):" echo " python3 poc.py --cmd 'echo hello from depthfirst > /tmp/pwned'" echo "" echo "# Verify RCE:" echo " docker compose -f env/docker-compose.yml exec nginx ls -la /tmp/pwned" echo " docker compose -f env/docker-compose.yml exec nginx cat /tmp/pwned" EOF

给权限和编译镜像

chmod +x setup.sh ./setup.sh

新开终端 1 启动漏洞 Nginx(保持窗口不关闭)

docker compose -f env/docker-compose.yml up

原终端执行漏洞利用

# 写入文件验证RCE python3 nginx_rift_helper.py --cmd "echo EXP_SUCCESS > /tmp/pwn.txt" # 查看结果 docker exec -it $(docker ps -q --filter name=nginx) cat /tmp/pwn.txt

如果输出EXP_SUCCESS就是复现成功

参考文章

CVE-2026-42945 深度解析 NGINX Rift :潜伏18年的堆溢出漏洞分析与防御指南 - 蚁景网安实验室 - 博客园

注:文章涉及内容仅供安全研究与学习之用,若将文章相关内容做其他用途,由使用者承担全部法律及连带责任,作者及发布者不承担任何法律及连带责任。信息及工具收集于互联网,真实性及安全性自测!!

http://www.gsyq.cn/news/1458500.html

相关文章:

  • 实战演练:基于快马AI构建高可靠kafka订单事件驱动微服务系统
  • 彻底理清 B+ 树页分裂与页合并对大批量写入 MySQL分库分表与分区表的设计抉择 数据时吞吐量的影响路径
  • AD软件大电流布线必备:一招把Top层铺铜“变成”阻焊开窗,告别焊盘锡量不足的烦恼
  • 深入GL3224固件升级工具:如何手动添加Flash芯片支持(以Winbond W25Q16为例)
  • NarratoAI完整教程:三步掌握AI视频解说制作神器
  • AUTOSAR SPI实战避坑:同步调用Spi_SyncTransmit阻塞了CPU?试试异步Spi_AsyncTransmit提升效率
  • 用MATLAB批量生成卫星TLE文件:STK11自动化脚本实战(附完整代码)
  • 别再用BertModel直接喂给Chroma了!手写一个EmbeddingFunction解决HuggingFaceEmbeddings离线调用难题
  • Python 爬虫进阶技巧:批量解析 html 实体转义字符还原原始文本
  • 2026深度测评10款降AI率软件红黑榜!优缺点全曝光,达标率直接对标行业天花板
  • 用FPGA控制步进电机是种什么体验?从状态机到分频器,详解Verilog驱动A4988全流程
  • Apex Legends智能压枪助手终极指南:10分钟掌握精准射击
  • Spring AI Alibaba-ChatClient
  • MATLAB环境下可直接运行的KNN分类代码包:含主程序、核心函数与调用说明
  • 2026学术写作新范式:Gemini 3.1 Pro、Claude 3.5与GPT-4o协同润色实战指南
  • Appium Inspector 保姆级配置指南:从Desired Capabilities到元素定位,一次搞定
  • ESP-Prog驱动安装避坑指南:从FT2232HL识别到VSCode成功连接ESP32的全流程
  • 保姆级教程:用C#和ABB PC SDK 6.08搞定机器人上位机通信(从环境配置到一键连接)
  • 5个关键步骤:使用FanControl实现Windows系统风扇的智能精准控制
  • 京东自动下单工具终极指南:4步实现24小时智能购物监控
  • STK卫星仿真出的数据怎么用?手把手教你将STK轨道导出为TLE格式(MATLAB联动篇)
  • 告别Redis?用C++手把手教你玩转LMDB:一个嵌入式内存映射数据库的实战入门
  • 深入对比:ZYNQ7000上EMMC与SD卡的裸机驱动性能实测与选型建议
  • Nano Banana Pro深度实战:ARM64嵌入式Linux工作站硬核指南
  • 哪家成都全屋定制品牌专业?2026年6月推荐TOP5儿童房环保安全评测特点市场份额 - 品牌推荐
  • 避坑指南:STM32F103标准库DAC配置常见误区(以PA4输出为例,含波形生成与缓存设置)
  • STM32F103驱动RC522读写MIFARE卡并修改扇区密钥的可运行工程
  • DeepSeek系列大模型本地部署与行业应用实践指南
  • 2025-2026年成都全屋定制品牌推荐:五大评测现代轻奢控预算专业价格适用场景 - 品牌推荐
  • MATLAB工程仿真用代理模型全流程工具箱(含DOE设计、Kriging建模与EGO优化)