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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ai-vuln-rediscovery-nginx-cve-2026-42945 — nginx rewriteモジュールにおけるCVE-2026-42945 ヒープバッファオーバーフローの再現可能なAI支援による再発見。監査プロンプト、PoCトリガー、ASanクラッシュ再現、防御研究のための技術的分析を含みます。 | Kitploit
ツール/GitHubGitHub/chamsbouzaiene/ai-vuln-rediscovery-nginx-cve-2026-42945
脆弱性分析ウェブセキュリティ論文と研究学習と教育AIセキュリティバイナリエクスプロイト
GitHubchamsbouzaiene/ai-vuln-rediscovery-nginx-cve-2026-42945

ai-vuln-rediscovery-nginx-cve-2026-42945

nginx rewriteモジュールにおけるCVE-2026-42945 ヒープバッファオーバーフローの再現可能なAI支援による再発見。監査プロンプト、PoCトリガー、ASanクラッシュ再現、防御研究のための技術的分析を含みます。

人気

すべて見る →

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

すべてのツールを探索

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

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

nginxにおけるCVE-2026-42945のAI支援による再発見

このリポジトリは、nginxのngx_http_rewrite_moduleに対する再現可能なAI支援による脆弱性再発見実験を文書化したもので、後にCVE-2026-42945に関連付けられました。

この実験は意図的に限定されています。脆弱性のあるファイルsrc/http/ngx_http_script.cは、監査のためにモデルに直接提供されました。これは、AIシステムがnginxの全コードベースからゼロから自律的に問題を発見したという主張ではありません。

概要

監査されたバグは、nginxのリライト処理におけるスクリプトエンジンの状態の古さによって引き起こされるヒープバッファオーバーフローです。

高レベルでは:

  1. ?を含むrewrite置換は、e->is_args = 1を設定します。
  2. 脆弱なコードでは、リライト終了後もe->is_argsがクリアされません。
  3. 後続のset、if、またはリライト式で$1のような名前のない正規表現キャプチャをコピーする場合、キャプチャがそのままコピーされるかのように宛先バッファのサイズが決定される可能性があります。
  4. 書き込みパスは古いe->is_args = 1を認識し、キャプチャをURIエスケープします。
  5. エスケープにより、スペースなどのバイトが1バイトから3バイトに拡張される可能性があるため、書き込みパスは長さパスで計算された割り当てを超えます。

ローカルAddressSanitizerによる再現では、以下のヒープバッファオーバーフローが確認されました。

root@kitploit:~
ngx_escape_uri
ngx_http_script_copy_capture_code
ngx_http_rewrite_handler

このリポジトリの内容

root@kitploit:~
.
├── README.md
├── LICENSE
├── prompts/
│   ├── audit_prompt.md
│   └── poc_prompt.md
├── poc/
│   ├── trigger.py
│   ├── nginx.conf
│   ├── reproduce.sh
│   └── expected_output.txt
├── docs/
│   ├── technical-analysis.md
│   ├── vulnerability-breakdown.md
│   └── methodology.md
└── screenshots/
    └── asan-crash.png

再現方法

PoCは、AddressSanitizerを有効にした脆弱なnginxのローカルラボビルド向けに設計されています。127.0.0.1:18080でnginxを起動し、細工されたリクエストをローカルサーバーに送信し、クラッシュの証拠を出力します。

1. ASanで脆弱なnginxをビルドする

影響を受けるnginxソースツリーを使用します。この実験は、clangとASanでビルドされたnginx 1.30.0に対して検証されました。

root@kitploit:~
./auto/configure \
  --prefix=/tmp/nginx-asan-poc \
  --with-cc-opt='-O0 -g -fsanitize=address -fno-omit-frame-pointer' \
  --with-ld-opt='-fsanitize=address'

make -j"$(getconf _NPROCESSORS_ONLN 2>/dev/null || sysctl -n hw.ncpu)"

2. PoCを実行する

このリポジトリから:

root@kitploit:~
NGINX_BIN=/path/to/vulnerable/nginx/objs/nginx ./poc/reproduce.sh

このリポジトリが検証に使用したnginxソースチェックアウトの内部に直接配置されている場合、スクリプトは自動的に../../objs/nginxも見つけます。

3. 期待される結果

再現に成功すると、次のようなASanレポートが出力されます。

root@kitploit:~
ERROR: AddressSanitizer: heap-buffer-overflow
WRITE of size 1
    #0 ngx_escape_uri ngx_string.c:1687
    #1 ngx_http_script_copy_capture_code ngx_http_script.c:1399
    #2 ngx_http_rewrite_handler ngx_http_rewrite_module.c:180

poc/expected_output.txtを参照してください。

ASan crash screenshot

最小トリガー設定

PoCで使用されるnginx設定は意図的に小さくなっています。

root@kitploit:~
location / {
    rewrite ^(.*) /new?c=1;
    set $myvar $1;
    return 200 "$myvar\n";
}

最初のリライトは、置換に?が含まれているためe->is_argsを設定します。後続のsetは、その古い状態がまだ存在する間に$1を評価します。

公式パッチ

最小限のパッチは、正規表現リライトが終了したときにスクリプトエンジンの引数状態フラグをリセットします。

root@kitploit:~
e->is_args = 0;
e->quote = 0;

この実験で使用されたソースツリーでは、修正は次のコミットとして現れます。

root@kitploit:~
524977e7c534e87e5b55739fa74601c9f1102686
Rewrite: fixed escaping and possible buffer overrun

重要なのはパッチのサイズではなく、復元される状態の不変条件です。長さパスと書き込みパスは、キャプチャがURI引数としてコピーされているかどうかについて一致しなければなりません。

実験の透明性

この実験では、最先端のコーディングエージェントを監査アシスタントとして使用しました。プロンプトでは、モデルがsrc/http/ngx_http_script.cのメモリ安全性の問題に焦点を当て、2パスの長さ/書き込みの不一致に特に注意を払うように明示的に指示しました。

重要な制限事項:

  • 脆弱性のあるソースファイルが直接提供されました。
  • 監査プロンプトは、バグのクラスに対して高度にターゲットされていました。
  • モデルは検証中にローカルリポジトリの履歴にアクセスできました。
  • 結果は、自律的なバグハンティングではなく、ガイド付き再発見として解釈されるべきです。
  • PoCはクラッシュ/ASanの証拠のみを示しており、武器化されたエクスプロイトではありません。

正確なプロンプトはprompts/audit_prompt.mdとprompts/poc_prompt.mdに含まれています。

責任ある使用

このリポジトリは、防御的研究、パッチ検証、再現性を目的としています。PoCは、自分が管理するローカルラボインスタンスに対してのみ実行してください。

ライセンス

このリポジトリのドキュメントとPoCハーネスはMITライセンスの下で公開されています。nginx自体は含まれておらず、独自のライセンスが適用されます。

ツールをダウンロード