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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-42945 — CVE-2026-42945 の概念実証エクスプロイト。NGINX の rewrite/set ディレクティブにおけるヒープバッファオーバーフローにより、巧妙に細工されたリクエストを介して DoS や潜在的な RCE を可能にします。 | Kitploit
ツール/GitHubGitHub/imsre9/cve-2026-42945
脆弱性分析エクスプロイトウェブセキュリティペネトレーションテスト学習と教育バイナリエクスプロイト
GitHubimsre9/cve-2026-42945

CVE-2026-42945

CVE-2026-42945 の概念実証エクスプロイト。NGINX の rewrite/set ディレクティブにおけるヒープバッファオーバーフローにより、巧妙に細工されたリクエストを介して DoS や潜在的な RCE を可能にします。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-42945: NGINX Rift ヒープバッファオーバーフロー脆弱性

概要

CVE-2026-42945 は、NGINX サーバーにおける深刻なヒープバッファオーバーフローの脆弱性であり、「NGINX Rift」と呼ばれています。この脆弱性は NGINX の rewrite および set ディレクティブの処理ロジックに存在し、特定の設定条件が満たされた場合、攻撃者は悪意のあるリクエストを構築してヒープオーバーフローを引き起こし、サービス拒否(DoS)や潜在的なリモートコード実行(RCE)を引き起こす可能性があります。

脆弱性の種類: ヒープバッファオーバーフロー リスクレベル: 高リスク CVE ID: CVE-2026-42945


影響範囲

  • 影響を受けるバージョン: NGINX 0.6.27 ~ 1.30.0
  • 影響を受けないバージョン: NGINX 1.31.0 以降

修正バージョン

次のいずれかのバージョンへの速やかなアップグレードを推奨します。

  • NGINX 1.31.0 以降の安定版
  • 各ディストリビューションベンダーが提供するセキュリティパッチ版

トリガー条件

脆弱性をトリガーするには、以下の2つの条件を同時に満たす必要があります。

  1. 設定条件: NGINX の設定で以下の両方を使用していること:

    • rewrite ディレクティブ(置換文字列に ? 文字を含む)
    • set ディレクティブ(rewrite の正規表現キャプチャグループ $1, $2 などを参照)
  2. リクエスト条件: リクエスト URI にエスケープが必要な文字(+, &, % など)が含まれていること

原理説明:

  • rewrite ディレクティブが e->is_args = 1 を設定(リセットされない)
  • set ディレクティブの長さ計算フェーズでは、全ゼロのサブエンジンを使用(le.is_args = 0)
  • NGINX は %25 を % にデコードするが、ngx_escape_uri が再エンコードして %25(3バイト)にする
  • 各 %25 文字が1バイトから3バイトに拡張され、バッファ境界を超えて書き込みが行われる

悪用方法

PoC テスト

root@kitploit:~
# プロジェクト内のテストスクリプトを使用
python3 CVE-2026-42945/CVE-2026-42945-test.py --host cve.test.com --port 80

脆弱性検証フロー

  1. 正常なリクエストを送信し、サーバーの動作状態を確認する
  2. 少数の %25 文字を含むリクエストを送信し、小規模テストを実施する
  3. 多数の %25 文字(例:2000個)を含むリクエストを送信し、バッファオーバーフローをトリガーする
  4. サーバーがクラッシュしたか、または異常な応答(500/502 エラー)を返すかを確認する
  5. サーバーが自動復旧するか(master プロセスが新しい worker をフォークする)を確認する

テスト結果分析

単層アーキテクチャ POC 結果

単層 NGINX 設定でのテストでは、脆弱性がトリガーされる結果となります。

クラッシュログ分析:

  • Worker プロセスが SIGSEGV(シグナル)によりクラッシュ
  • クラッシュは ngx_http_script_flush_no_cacheable_variables 関数で発生
  • クラッシュフェーズ:ngx_http_core_rewrite_phase

二層アーキテクチャ POC 結果

二層 NGINX(layer1 転送 + layer2 業務)設定でのテスト結果は以下の通りです。


ファイル説明


参考資料

  • NGINX 公式セキュリティ勧告
  • CVE-2026-42945 MITRE 詳細
  • NVD - CVE-2026-42945

免責事項

本プロジェクトは、セキュリティ研究および教育目的のみで使用されます。利用者は、所在する国や地域の法令を遵守する必要があります。著者は、許可のない悪用行為について一切の責任を負いません。

不正な攻撃への使用は禁止!


最終更新日: 2026-05-19

ツールをダウンロード
設定シナリオlayer1 結果layer2 結果原因分析
rewrite に break なし + proxy_pass❌ 脆弱性トリガー(404)❌ リクエスト未到達rewrite 後に set が実行されヒープオーバーフローが発生、worker がクラッシュ
rewrite に break あり + proxy_pass✅ 正常(200)⚠️ 脆弱性トリガーの可能性ありbreak により set の実行が停止、リクエストは正常にバックエンドへ転送される
ファイル説明
CVE-2026-42945/CVE-2026-42945-test.py脆弱性テスト PoC スクリプト。対象に脆弱性が存在するかを検証するために使用
single_layer_test/single_layer_nginx.conf単層アーキテクチャにおける脆弱な NGINX 設定例
single_layer_test/image.png脆弱性原理の図解
single_layer_test/test.logテストログファイル
double_layer_test/layer1_nginx.conf二層アーキテクチャの第一層(転送層)NGINX 設定
double_layer_test/layer2_nginx.conf二層アーキテクチャの第二層(業務層)NGINX 設定