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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ats-esi-unix-recvport — Apache Traffic Server 10.2.0 - 高 - リモート - SSRF - ESI unix recvport | Kitploit
ツール/GitHubGitHub/abraxas/ats-esi-unix-recvport
脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティラボと実践
GitHubabraxas/ats-esi-unix-recvport

ats-esi-unix-recvport

Apache Traffic Server 10.2.0 - 高 - リモート - SSRF - ESI unix recvport

リポジトリを見る
14日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

Abraxas Labs - ats-esi-unix-recvport

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  ats-esi-unix-recvport

ats-esi-unix-recvport

クラス: SSRF 到達範囲: リモート

Apache Traffic Server 10.2.0 (b1df7334) - Apache Software Foundation

ESI FetchSM PluginVC が宛先ポート 0 を報告する。Remap はポート 0 を UDS として扱い、インクルードのスキームを http+unix に書き換えるため、UDS リスナー専用の map_with_recv_port http+unix:// ルールに一致してしまう。すると一見公開されているように見える http://www.example.com/secret の esi:include が unix ソケットのオリジンに到達する。TCP の GET /secret は TCP マップのままである。unix recv-port マップを伴わない CONTROL では TCP オリジンがインライン化される(witness なし)。インクルードスキーム http+unix 自体は 2026 年 7 月のバリデータでは BAD_SCHEME となる。

典型的な esi.so と 1 つの map だけではこれは発生しない。ESI に加えて少なくとも 1 行の map_with_recv_port http+unix:// が必要である。デフォルトは remap_required: 1 および number_of_redirections: 0。

これは CVE-2026-58178(プライベートリテラル、file://、ネストされたコメント、深さ上限はクローズ済み)ではない。

IDCVE 未割当
クラスSSRF
到達範囲リモート(ESI vhost への未認証 HTTP)
CWECWE-918
CVSSHigh: 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
製品Apache Traffic Server
影響を受けるバージョン10.2.0 (b1df7334b39a878971c376da849e8da4984918b6) ESI と map_with_recv_port http+unix
認証なし。ESI プラグイン。recv-port unix マップ。
ライセンスGNU Affero GPL v3.0
ラボ127.0.0.1:18750 / 18751 のみ。イメージ ats-10.2.0-lab:local。

タグ 10.2.0、コミット b1df7334b39a878971c376da849e8da4984918b6 を固定した。ソースからビルドしたイメージ。

攻撃者ができること

リマップに map_with_recv_port http+unix:// がある ESI vhost への未認証 HTTP。攻撃者が影響を与えられるインクルード src(侵害されたオリジン、保存された ESI、または $(HTTP_HEADER{...}))。

手法シンク権限
未認証 GET /page の ESI インクルード http://www.example.com/secretFetchSM の宛先ポート 0 が map_with_recv_port http+unix://www.example.com/ に一致(RemapProcessor.cc:87-114、PluginVC.h:274-278)偵察 / SSRF(ラボで実証済み): クライアントボディに UDS オリジンからの ATS-ESI-UNIX-RECVPORT-WITNESS がインライン化された。
同上一次書き込み / シェル完全性: なし。 一次書き込みなし。シェルなし。
unix recv-port マップなしの CONTROL GET /pageTCP オリジンのインクルードクローズ(ラボで実証済み): TCP-ORIGIN-OK をインライン化、witness なし。
poc vhost 上の TCP クライアント GET /secretTCP マップクローズ(ラボで実証済み): TCP-ORIGIN-OK、witness なし。

ラボで実証済み vs 推測: コントロールで witness なし、poc ページで witness あり、poc の TCP /secret で witness なし: ラボ。保存された ESI やヘッダー展開を介して src に影響を与えることは、文書化された ESI の信頼モデルであり、ここでは再実証していない。ラボのインクルードは /page 上の静的な http://www.example.com/secret である。

必要条件: ESI プラグインと map_with_recv_port http+unix。デフォルトは remap_required: 1。number_of_redirections: 0。

クローズされたままの隣接する攻撃面

サーフェスラボ
unix recv-port マップなしの CONTROLcontrol-no-witness=yes、TCP-ORIGIN-OK をインライン化
TCP クライアント GET /secretpoc-tcp-secret-no-witness=yes
スキーム http+unix を含めるバリデータ BAD_SCHEME
file://、プライベートリテラル、ネストされたコメント、深さ上限CVE-2026-58178 クローズ済み
DNS なしのホスト名デナイリスト文書化済み。remap_required: 1 で無効
remap_required: 1 のミス404
number_of_redirections: 0Location フォローオフ

発見の経緯

PluginVCCore は passive_addr_struct をゼロで初期化します。PluginHttpConnectInternal は active_addr(元のクライアント)のみを設定します。FetchSM の HttpSM はパッシブな PluginVC 上で動作します。attach_client_session は netvc->get_local_addr() を client_info.dst_addr にコピーします。パッシブなローカルアドレスはゼロ初期化された構造体です。host_order_port() は 0 になります。

リマップ検索(RemapProcessor.cc:87-114):ポート 0 は UDS を意味します。スキームは http -> http+unix に書き換えられるため、map_with_recv_port http+unix:// がマッチします。ユニットテスト test_RemapRules.cc:237-240 がそのことを文書化しています。

7 月のバリデータは、インクルードスキーム http+unix を拒否します。しかし、宛先ポートが 0 であったために内部リマップホップが unix になった http:// インクルードは拒否しません。

誤った方向性:典型的な esi.so + 単一の map をこの残存物とみなすこと(CONTROL がそうでないことを証明しています);DNS なしのホスト名デナイリストを報告すること(文書化済みで、remap_required=1 では無効);file:// がまだ機能すると主張すること;TCP の /secret が unix マップに従うと期待すること。

茶番:リバースシェル。オラクルは UDS オリジンからのインライン化されたウィットネスであり、TCP の /secret は依然として TCP です。

ラボ

python3 ats-esi-unix-recvport-Abraxas-Labs.py

または

cd lab
./run.sh

ループバック PoC 127.0.0.1:18750、コントロール 127.0.0.1:18751。Compose プロジェクト ats-esi-unix-recvport。イメージ ats-10.2.0-lab:local。ウィットネス ATS-ESI-UNIX-RECVPORT-WITNESS。最終行:

SUCCESS ats-esi-unix-recvport control-no-witness=yes poc-page-witness=yes poc-tcp-secret-no-witness=yes ATS-ESI-UNIX-RECVPORT-WITNESS

修正

FetchSM PluginVC の宛先ポート 0 を UDS 受信ポートの一致として扱わないでください。実際の UDS リスナーには map_with_recv_port http+unix:// を維持します。http://host/ の ESI インクルードは、そのホストに対して http+unix 受信ポートルールが存在する場合でも、TCP マップ上に留まるべきです。

参考資料

  • github.com/apache/trafficserver タグ 10.2.0 (b1df7334b39a878971c376da849e8da4984918b6)
  • PluginVC.h ゼロ化されたパッシブアドレス
  • PluginHttpConnect.cc
  • RemapProcessor.cc ポート 0 -> http+unix
  • test_RemapRules.cc
  • CWE-918
ツールをダウンロード