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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Nginx-chain-Rift-Poolslip — ASLR非依存のnginx RCEチェーンPoC。PoolSlipヒープ過読リーク(CVE-2026-9256)とriftオーバーフロー(CVE-2026-42945)を組み合わせ、標準のnginxでsystem()に到達する。 | Kitploit
ツール/GitHubGitHub/y198nt/nginx-chain-rift-poolslip
メモリフォレンジック脆弱性分析エクスプロイトリバースエンジニアリングウェブアプリケーション悪用ペネトレーションテスト学習と教育ペイロード開発バイナリエクスプロイト

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
ラボと実践
GitHuby198nt/nginx-chain-rift-poolslip

Nginx-chain-Rift-Poolslip

ASLR非依存のnginx RCEチェーンPoC。PoolSlipヒープ過読リーク(CVE-2026-9256)とriftオーバーフロー(CVE-2026-42945)を組み合わせ、標準のnginxでsystem()に到達する。

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

nginx PoolSlip × Rift — ASLR非依存RCEチェーン

最近公開された2つのnginx rewriteエンジンのバグを、公式のnginx:1.30.0 Dockerイメージ(Debian 13、glibc 2.41)上で**ASLR非依存のリモートsystem()**へと連鎖させた初の公開チェーン — ハードコードされたアドレスなし、nginx再起動なし、新規ワーカーあたり約90%の成功率。

  • CVE-2026-9256 "PoolSlip" — $argsのヒープオーバーリード → 稼働中のlibc + ヒープをリーク。
  • CVE-2026-42945 "rift" — is_argsのヒープオーバーフロー(URLセーフバイトのみ) → limit_connクリーンアップポインタの2バイト部分上書き → ngx_destroy_poolがそれを辿る → system(cmd)。

どちらも同じis_argsの2パス不一致を、2つのシンクに向けたもの。完全な技術解説: Writeup


開示と安全性

  • 両CVEはすでに修正済みであり、野外で活発に悪用されています。nginx 1.30.2(stable)または1.31.1(mainline)へアップグレードしてください — 1.30.1はriftを修正しますが、PoolSlipには依然として脆弱であるため、両方を塞ぐのは1.30.2のみです。NGINX Plus: R36 P5 / R32 P7 / R37.0.1.1。
  • これは教育および許可されたテストのみを目的として公開されています。同梱のローカルDockerラボに対して実行されます — 所有していない、または書面によるテスト許可を持たないインフラに対して向けないでください。
CVEニックネーム脆弱修正済み (nginx OSS)
CVE-2026-42945rift0.6.27 – 1.30.01.30.1 / 1.31.0
CVE-2026-9256PoolSlip0.1.17 – 1.30.1 + 1.31.01.30.2 / 1.31.1

リポジトリの内容

ファイル目的
nginx.conf現実的なAPIゲートウェイ設定(ターゲット — limit_conn、v1→v2移行rewrite、アップロードプロキシ、劣化した検索ページ)。アロケータのチューニングなし。
run.shローカルラボを起動: 公式nginx:1.30.0がnginx.confを配信、さらに遅いアップストリームをホスト:19322で提供。
exp_official.py完全なチェーン: PoolSlipリーク → libc/ヒープの導出 → スプレー → グルーミング → rift部分上書き → system()。

要件

  • Docker、Python 3(exp_official.pyの実行用)、curl、Linux x86-64。
  • ラボは完全に自己完結 / オフライン — run.shは遅いアップストリームにperl(公式nginxイメージにすでに含まれている)を使用するため、追加パッケージもslow_backendファイルも不要で、インターネット接続も必要ありません。nginxバイナリ自体は公式のままです。
  • オプション: WRITEUP.mdのgdbセッションを追うには、docker execで入り、apt-get install gdb file binutilsを実行してからgefをロードしてください。

実行方法

git clone https://github.com/y198nt/Nginx-chain-Rift-Poolslip
cd Nginx-chain-Rift-Poolslip

bash run.sh                                          # stock nginx:1.30.0 on http://127.0.0.1:19322
python3 exp_official.py --cmd 'id > /tmp/rce_proof'  # leak → overwrite → system()
docker exec nginx-rift-official cat /tmp/rce_proof   # → uid=101(nginx) ...

exp_official.pyはワンショットです(新規ワーカーあたり約90%): 一度リークし、一度発火します。プルーフファイルが空の場合、グルーミングがスロットを1つ外しただけです — 再実行してください。

docker rm -f nginx-rift-official      # tear the lab down

仕組み(概要)

  1. リーク (PoolSlip)。 rewrite ^/search/((.*))$ /lookup?$1$2により、コピーパスがr->args.lenをバッファを超えて設定します。劣化した/searchページが$argsを隣接ヒープに反映します。短いウォームアップ後、libpcre-clusterポインタ(libcの0xb0ad08下に固定)とヒープポインタが安定したオフセットに落ち着く → libc_baseとheap_base、ハードコードされたものは何もありません。
  2. 書き込み (rift)。 riftオーバーフローはURLセーフバイトしか出力できないため、完全な48ビットアドレスはASLR下で約0.9%の確率でしか書き込めません。代わりに、すでに有効なlimit_connクリーンアップポインタの下位2バイトだけを上書きします — ASLRでランダム化された上位バイトはそのまま維持される → ASLR非依存。
  3. 発火。 ポインタはスプレーされたngx_pool_cleanup_t{handler=&system, data=cmd, next=0}へリダイレクトされます。被害者を閉じるとngx_destroy_poolのクリーンアップウォークがトリガーされる → system(cmd)。

完全な導出、gdbセッション、行き止まり/ピボットについてはWriteupを参照してください。

緩和策と検出

  • パッチ(1.30.2 / 1.31.1へアップグレード) — 唯一の真の修正。
  • この書き込みは、置換に?を含みかつPCREキャプチャ($1/$2)を参照するrewrite、または^/x/((.*))$ → /y?$1$2のようなネストされたキャプチャパターンを介してのみ発火します。設定を監査してこれらを探し、パッチが適用されるまで問題のあるrewrite/setを作り直してください。
  • 反映された$args(またはリクエスト由来の変数をそのままエコーバックすること)が、オーバーリードを情報リークに変える原因です — リクエスト引数をそのまま反映しないでください。
  • WAF / ログのシグナル: URIパス内の%2B/+の洪水(GET /search/+++…)、長い$argsをエコーする劣化ページからの503、ワーカーのSIGSEGV/再生成ストーム。

クレジットと参考文献

  • 元のコンポーネントPoC: DepthFirstDisclosures/Nginx-Rift (rift)。
  • ベンダーアドバイザリ — CVE-2026-42945 (rift) および CVE-2026-9256 (PoolSlip)、F5/nginx。
  • チェーン化、ASLR非依存技術、Debian glibc-2.41ポート: このリポジトリ。
ツールをダウンロード