作者は、このツールの誤用または損害について一切の責任を負いません。 この研究は、教育および防御目的に限定して提供されます。
このリポジトリには、Squid Proxy に影響する情報漏えいの欠陥である CVE-2025-62168 の Proof-of-Concept (PoC) が含まれています。 特定の構成では、Squid は自動生成される エラーページ 内、特に mailto: 診断ブロック内に HTTP リクエストヘッダー を反映させる可能性があります。
この動作により、次のような機密トークンが漏えいする可能性があります:
この PoC は、単一のインジェクションされたヘッダーがエラーテンプレート内で非編集のまま表示される仕組みを実証し、攻撃者が強制的なネットワークエラーを通じて漏えいしたトークンを取得できることを示します。
この脆弱性は、Squid がエラーページを生成および返信する方法に起因します。エラーが発生すると、Squid の応答に、email_err_data ディレクティブを介して作成された管理者の mailto リンク内に、機密の HTTP 認証データが意図せず埋め込まれる可能性があります。
email_err_data が有効な場合(デフォルト構成を含む)、システムは影響を受け、Squid が明示的に HTTP 認証を使用するように構成されていない場合でも、漏えいが発生する可能性があります。
この問題は、以下のように分類されます:
漏えいした認証情報は、Squid をプロキシ層として利用する内部アプリケーション、バックエンドサービス、または認証済みクライアントに属する可能性があるため、この欠陥は特に重要です。
Squid がエラーページ(例: ERR_READ_ERROR)を構築するとき、内部テンプレートには次の内容が含まれる場合があります:
HTTP Request:
Header: VALUE
サニタイズが失敗した場合、ユーザー指定のヘッダー が診断用の mailto: ハイパーリンクに挿入されます。この PoC は、存在しないドメインを使用してエラーをトリガーし、返された HTML 内の非編集データを検査します。
この脆弱性により、攻撃者は通常のブラウザセキュリティ制御をバイパスし、信頼されたクライアントが使用する認証情報を抽出できます。これには、Squid がリバースプロキシまたはロードバランサーとして動作する環境において、内部 Web アプリケーションまたはバックエンドサービスに属するトークンおよびセッションデータが含まれます。Squid が生成したエラーページからこの情報を直接取得することで、攻撃者は正当なユーザーになりすまし、アクセスを昇格させ、ネットワーク内で水平移動し、トラフィック処理を Squid に依存するバックエンドシステムを侵害する可能性があります。
mailto: 本文(URL エンコード)内に表示されますCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Score: 7.5 (High)
python3 cve-2025-62168.py --proxy http://127.0.0.1:3128
技術モード:
python3 cve-2025-62168.py --proxy http://127.0.0.1:3128 --verbose
スクリプトは次のことを実行します:
mailto: 診断ブロックを解析しますSTEP 4 — Parsing mailto block...
X-Test-Leak: <JWT TOKEN>
STEP 5 — TOKEN LEAK CONFIRMED
<decoded token>
CVE-2025-62168/
│
├── LICENSE
├── README.md
├── cve-2025-62168.py
├── example.txt
├── payload.json
├── requirements.txt
└── token.txt
ERR_*)に漏えいしたメタデータがないか確認します