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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-42945-nginx-rift-poc — CVE-2026-42945 (nginx Rift) 用のPoC — ngx_http_rewrite_module におけるヒープバッファオーバーフロー。detect/probe/exploit モード、デュアルフィクスチャ構成のDockerラボ、実測によるアドレス探索、OOB検証済みオフセットスイープを備える。元の開示は depthfirst によるもの。 | Kitploit
ツール/GitHubGitHub/f2u0a0d3/cve-2026-42945-nginx-rift-poc
動的分析 (サンドボックス)エクスプロイトフレームワーク脆弱性分析ウェブアプリケーション悪用ファジングペネトレーションテスト学習と教育バイナリエクスプロイトラボと実践

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHubf2u0a0d3/cve-2026-42945-nginx-rift-poc

CVE-2026-42945-nginx-rift-poc

CVE-2026-42945 (nginx Rift) 用のPoC — ngx_http_rewrite_module におけるヒープバッファオーバーフロー。detect/probe/exploit モード、デュアルフィクスチャ構成のDockerラボ、実測によるアドレス探索、OOB検証済みオフセットスイープを備える。元の開示は depthfirst によるもの。

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

NGINX Rift — CVE-2026-42945

CVE-2026-42945 向けの RCE 概念実証(PoC)です。これは、2008 年に導入された NGINX の ngx_http_rewrite_module における深刻なヒープバッファオーバーフローであり、rewrite ... ?... + set キャプチャの組み合わせを使用するサーバーに対して、認証なしのリモートコード実行を可能にします。

元の脆弱性開示: depthfirst — 同社の自律型ソース監査システムにより、CVE-2026-42946、CVE-2026-40701、CVE-2026-42934 とともに発見されました。

レイアウト

root@kitploit:~
poc-CVE-2026-42945/
├── exploit.py            — improved PoC (3 modes: --check / --probe / --exploit)
├── poc.py.orig           — original depthfirst PoC (reference)
├── env/                  — dual-fixture Docker lab
│   ├── Dockerfile          (vuln: nginx commit 98fc3bb78)
│   ├── Dockerfile.patched  (patched: release-1.31.0)
│   ├── docker-compose.yml  (both services)
│   ├── nginx.conf          (vulnerable rewrite + set config)
│   ├── entrypoint.sh       (runs under setarch -R — ASLR off)
│   └── server.py           (backend stub)
├── discover-addresses.sh — extract HEAP_BASE / LIBC_BASE / system() offset from running container
├── verify.sh             — dual-fixture reproducer (exploit vuln, prove patched blocks)
├── setup.sh              — build helper (legacy single-image)
├── references.md         — full bug mechanics, exploitation strategy, mitigations
└── README.md             — this file

脆弱性の概要(TL;DR)

2 パス方式のスクリプトエンジンにおける is_args フラグの不整合:

  • 長さパス は is_args = 0 を参照 → キャプチャの生の長さを割り当てる
  • コピーパス は is_args = 1 を参照 → ngx_escape_uri(NGX_ESCAPE_ARGS) による 3 倍の展開 → ヒープオーバーフロー

悪用手法: POST /spray ボディによるヒープフェンシュイ(ボディには NUL バイトが許可され、偽の ngx_pool_cleanup_s を仕込む)+ URI オーバーフローで隣接する ngx_pool_t.cleanup ヘッドを破壊。プール破棄 → system(cmd)。

完全な仕組みと悪用戦略は references.md にあります。

影響を受けるバージョンと修正バージョン

製品影響を受けるバージョン修正バージョン
NGINX Open Source0.6.27 – 1.30.01.30.1, 1.31.0
NGINX PlusR32 – R36R36 P4, R35 P2, R32 P6

ベンダーアドバイザリ: https://my.f5.com/manage/s/article/K000160932

クイックスタート

root@kitploit:~
# Build both fixtures
docker compose -f env/docker-compose.yml build

# Start lab (vuln=:19321, patched=:19421)
docker compose -f env/docker-compose.yml up -d

# Detect-only (no overflow trigger)
python3 exploit.py --check --host 127.0.0.1 --port 19321

# Full exploit
python3 exploit.py --exploit --host 127.0.0.1 --port 19321 \
    --cmd 'echo pwned > /tmp/rift'

docker exec nginx-rift-vuln cat /tmp/rift

# Dual-fixture verify (exploit vuln + confirm patched blocks)
./verify.sh

# Teardown
docker compose -f env/docker-compose.yml down

モード

localhost 以外のターゲットには --i-have-tested-this フラグが必要です(ハードコードされたオフセットがデプロイされたビルドと一致することの承認)。

アドレス探索

デフォルトの --heap-base / --libc-base / --system-offset は、同梱のラボ用の値です(Ubuntu 22.04 / glibc 2.35 / nginx commit 98fc3bb78 / ASLR オフ)。新しいビルドや異なる libc の場合は:

root@kitploit:~
docker compose -f env/docker-compose.yml up -d nginx-vuln
./discover-addresses.sh
# Copy values into exploit.py invocation

注意事項

  • ラボ限定。 ハードコードされたオフセットは、同梱フィクスチャ内でのみ安定します。本番環境での悪用には、ターゲットごとのオフセット導出(情報漏えい + オフセット列挙)が必要です。
  • ASLR。 ラボでは setarch -R により ASLR を無効化しています。実際のターゲットでは ASLR が有効です — 追加の情報漏えいプリミティブが必要です。
  • 設定依存。 脆弱なサーフェスには、デプロイされた nginx.conf における rewrite ... ? + set $X $N の組み合わせが必要です。実際の設定の多くにはこれがありません。

クレジット

  • バグ発見 + オリジナル PoC: depthfirst
  • このフォーク: --check 検出モード、--probe オフセット列挙、パッチ適用済みフィクスチャ、アドレス探索ヘルパー、デュアルフィクスチャ検証ツールを追加
ツールをダウンロード
Mode用途副作用
--checkリライトサーフェスの存在を検出なし — 小さなプローブ URI のみ送信
--probeこのビルド向けのスプレー着地オフセットを列挙探索中にワーカーがクラッシュ; 実行はなし
--exploit完全な RCE チェーンワーカーのクラッシュ + --cmd による system() 呼び出し