Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
nginx-cve-2026-42945-check — CVE-2026-42945 (NGINX Rift) 用のローカル読み取り専用スキャナ。エクスプロイトを実行したりサービスを変更したりすることなく、NGINX、OpenResty、Tengine インスタンスの脆弱な rewrite 設定をチェックします。 | Kitploit
ツール/GitHubGitHub/byezero/nginx-cve-2026-42945-check
静的分析脆弱性スキャナー脆弱性分析スクリプトと自動化構成監査ウェブセキュリティ
GitHubbyezero/nginx-cve-2026-42945-check

nginx-cve-2026-42945-check

CVE-2026-42945 (NGINX Rift) 用のローカル読み取り専用スキャナ。エクスプロイトを実行したりサービスを変更したりすることなく、NGINX、OpenResty、Tengine インスタンスの脆弱な rewrite 設定をチェックします。

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
リポジトリを見る
124ヶ月前未レビュー
共有

NGINX CVE-2026-42945 ローカル検査スクリプト

言語:中文 | English

このリポジトリは、Linux / Windows サーバー上で Nginx、OpenResty、Tengine が CVE-2026-42945 関連のリスクを持つかどうかをローカルで調査するための、2つの検査スクリプトを提供します。

スクリプトは読み取り専用の収集とローカル判定のみを行い、脆弱性 PoC の実行、攻撃リクエストの送信、設定の変更、サービスの再起動、ソフトウェアのアップグレードは行いません。

脆弱性の背景

CVE-2026-42945 は NGINX Rift とも呼ばれ、公開資料では ngx_http_rewrite_module におけるヒープバッファオーバーフロー問題として説明されています。NVD の説明によると、rewrite ディレクティブが後続の rewrite / if / set ディレクティブと特定の組み合わせを形成し、名前のない PCRE キャプチャ変数(例:$1、$2)とクエスチョンマーク ? を含む置換文字列が関与する場合、攻撃者は巧妙に細工した HTTP リクエストによって NGINX worker プロセスのヒープバッファオーバーフローを引き起こす可能性があります。この問題により worker プロセスが再起動する可能性があり、ASLR が無効になっているなどの特定の条件下では、コード実行のリスクが存在します。

NGINX 公式セキュリティアドバイザリは CVE-2026-42945 を ngx_http_rewrite_module の buffer overflow としてマークし、NGINX Open Source の修正範囲を示しています:

状態NGINX Open Source バージョン
修正済み1.31.0+ / 1.30.1+
影響の疑いあり0.6.27-1.30.0

ディストリビューション、商用製品、OpenResty、Tengine、またはプライベートビルドには、バックポートパッチやバージョン対応の差異が存在する可能性があります。スクリプトは可能な限り証拠を収集しますが、最終的にはベンダーのアドバイザリと併せて手動で確認することを推奨します。

検査の目的

このツールは脆弱性悪用の検証ツールではなく、ローカル収集および静的設定検査ツールです。以下の組み合わせに重点を置いて識別します:

  1. rewrite ディレクティブの置換文字列で、エスケープされていない $1、$2 などの名前のないキャプチャ変数を使用している。
  2. 同じ rewrite 置換文字列内にエスケープされていない ? が含まれている。\? のようなリテラルのクエスチョンマークはリスク条件とは見なされません。
  3. 同じ設定スコープ内に、後続の rewrite、if、set ディレクティブが存在する。

リスクパターンの例:

location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?endpoint=$1 last;
    set $flag 1;
}

リスクは単独の rewrite や set に由来するのではなく、バージョン、設定コンテキスト、実行順序が共同で形成するトリガー条件です。ヒットした場合でも、その設定が実際に有効な設定であるか、外部リクエストから到達可能か、ディストリビューションのバックポート修正が適用済みかを手動で確認することを推奨します。

ファイルの説明

ファイル説明
check_nginx_linux.shLinux ローカル検査スクリプト
check_nginx_windows.ps1Windows ローカル検査スクリプト
README.md中国語の説明
README.en.mdEnglish README

機能範囲

初版でサポートされる機能:

  • ローカルにネイティブインストールされた Nginx / OpenResty / Tengine の検査。
  • ホスト情報、プロセスおよびサービス情報、バージョン情報、コンパイルパラメータ、有効な設定の収集。
  • 同じサーバー上の複数の Nginx / OpenResty / Tengine インスタンスを1つずつ検査。
  • CVE-2026-42945 関連の危険な rewrite 設定の識別。
  • 中国語のコンソール結果、summary.txt、summary.json、および生の証拠ディレクトリの出力。

初版に含まれない機能:

  • Docker / Kubernetes の検査。
  • リモート SSH / WinRM スキャン。
  • 自動修正、自動アップグレード、自動設定変更。
  • 脆弱性 PoC または攻撃リクエスト。

実行の前提条件

管理者権限で実行することを推奨します:

  • Linux:root または sudo 権限を持つアカウントを使用。
  • Windows:「管理者として実行」の PowerShell を使用。

管理者権限でない場合、スクリプトは可能な限り収集を試みます。完全な nginx -T 有効設定をエクスポートできない場合、結果は 需人工复核 とマークされます。

Linux での使用方法

check_nginx_linux.sh をサーバーにアップロードした後、実行します:

chmod +x check_nginx_linux.sh
sudo ./check_nginx_linux.sh

sudo を使用できない場合は、直接実行することもできます:

./check_nginx_linux.sh

Windows での使用方法

check_nginx_windows.ps1 をサーバーにアップロードした後、「管理者として実行」の PowerShell で実行します:

powershell -ExecutionPolicy Bypass -File .\check_nginx_windows.ps1

出力内容

スクリプトは、スクリプトが配置されているディレクトリに結果ディレクトリを生成します。ディレクトリ名にはホスト名、時刻、スクリプトのプロセス ID が含まれ、同じ秒に繰り返し実行した際に証拠が混在しないようにします。

nginx_check_<主机名>_<时间>_<进程ID>/
  summary.txt
  summary.json
  raw/
    host_info.txt
    process_info.txt
    service_info.txt
    package_info.txt
    nginx_paths.txt
    instances/
      instance_01/
        nginx_invocation.txt
        nginx_version.txt
        nginx_build.txt
        nginx_config_dump.txt
        risky_config_matches.txt
      instance_02/
        ...
ファイルまたはディレクトリ説明
summary.txt中国語の要約。手動での確認やフィードバックに適しています
summary.json構造化された結果。後続の一括集計に便利です
raw/生のコマンド出力と証拠ファイル
raw/instances/instance_XX/各インスタンスの個別のバージョン、設定、およびリスク証拠

要約には以下の内容が記録されます:

フィールド説明
实例数量本機で検出され、1つずつ検査された Nginx / OpenResty / Tengine の候補インスタンス数
配置大小nginx -T でエクスポートされた生の設定結果ファイルのサイズ
扫描行数スクリプトが実際にスキャンした設定出力の行数
危险配置命中数量ヒットした危険な rewrite ルールの数
证据摘要最もリスクの高いインスタンスの証拠プレビュー。完全な証拠は対応するインスタンスディレクトリを参照

Nginx の設定が多い場合、スクリプトはコンソールに完全な設定を出力しません。完全な有効設定は、対応するインスタンスディレクトリの nginx_config_dump.txt に保存されます。設定エクスポートファイルが 10 MB を超える場合、スクリプトは自動スキャンを継続し、raw/ の結果と併せて手動でスポットチェックすることを推奨するメッセージを表示します。

複数インスタンスの処理

サーバーで複数の nginx、openresty、tengine の候補実行ファイルが検出された場合、スクリプトは1つずつ検査し、インスタンスの詳細を生成します。

全体の要約の結論は、最もリスクの高いインスタンスに基づきます。全体の結論は保守的な優先順位を採用します:

  1. 受影响有风险配置
  2. 需人工复核
  3. 受影响无风险配置
  4. 不受影响
  5. 未安装Nginx

ここで、需人工复核 は 受影响无风险配置 よりも優先度が高く、未確認のインスタンスが存在し継続的な確認が必要であることを示します。危険な設定が確認されたことを意味するものではありません。

検査結果

結論意味
未安装NginxNginx / OpenResty / Tengine のコマンド、プロセス、サービスが検出されなかった
不受影响明確に修正版であり、危険な設定も検出されなかった
受影响无风险配置バージョンは影響の疑いがあるが、危険な rewrite 設定は検出されなかった
受影响有风险配置バージョンが影響の疑いがある、または派生バージョンのため確認が必要で、危険な rewrite 設定が検出された
需人工复核バージョン不明、派生バージョン、設定収集失敗、権限不足、または証拠不足

バージョン判定

製品バージョン判定
NGINX 1.31.0+修正済み。スクリプトは 已修复(mainline) と表示
NGINX 1.30.1+修正済み。スクリプトは 已修复(stable) と表示
NGINX 0.6.27-1.30.0影響の疑いあり
OpenResty / Tengineバージョンと設定は収集可能だが、バージョンによる影響関係はデフォルトで手動確認が必要

ディストリビューションには「バージョン番号は古いがパッチがバックポート済み」というケースが存在する可能性があります。ベンダーのパッチ証拠を提供できる場合は、summary.txt とパッケージバージョン情報を併せて手動で確認できます。

対応の推奨事項

  • 公式またはディストリビューションベンダーが公開した修正バージョンへのアップグレードを優先する。
  • パブリックエントリ、リバースプロキシエントリ、エッジロードバランサのインスタンスを優先的に確認する。
  • すべての location、server、if などのコンテキスト内の rewrite / if / set の組み合わせを確認する。
  • ? を含む rewrite 置換文字列で $1、$2 などの名前のないキャプチャ変数を使用し続けることを避ける。
  • 名前付きキャプチャへの変更、変数の事前保存、処理ロジックの分割、不要なクエリ文字列 rewrite の削除を検討する。
  • バージョン判定のみに依存しないこと。設定がトリガーシーケンスを含むかどうかも同様に重要である。

制限事項

  • このツールはローカル読み取り専用の検査スクリプトであり、脆弱性悪用の検証と同等ではありません。
  • 静的な設定スキャンには誤検知の可能性があり、実際の NGINX コンテキストと併せて手動で確認する必要があります。
  • nginx -T で完全な設定をエクスポートできない場合、スクリプトは安全と判定しません。
  • OpenResty / Tengine / プライベートビルドのバージョンによる影響関係は、デフォルトで手動確認が必要です。
  • リスクがスキャンされないことは絶対的な安全性を意味しません。公式またはディストリビューションベンダーが確認した修正バージョンへのアップグレードを引き続き推奨します。

参考資料

  • NGINX Security Advisories
  • NVD: CVE-2026-42945
  • F5 Advisory K000161019
  • depthfirst: NGINX Rift
ツールをダウンロード