CVE-2026-69246 in Guzzle情報

要約

〜によって VulDB • 2026年08月04日

Guzzleは拡張可能なPHP HTTPクライアントです。バージョン7.15.2および8.0.1より前では、GuzzleはリクエストURIをテキストとしてトランスポートに渡し、Hostヘッダーを別途提供していました。cURLハンドラーはCURLOPT_URLに対して記述されたままのURIを設定し、そのHostをCURLOPT_HTTPHEADERに追加します。StreamHandlerもfopen()を通じて同様の処理を行います。libcurlはその権威部(authority)自体を解析し、パーセントデコードを行い、IDN対応ビルドではIDNAマッピングを適用して、結果を使用して解決、接続、TLSピアの名前付け、およびプロキシCONNECTのアドレス指定を行いますが、提供されたHostはlibcurlが生成していた整合性の取れた値を上書きします。URIホストが127.0.0.%31として記述されている場合、filter_var()はそのホストをIPリテラルとして拒否しますが、libcurlはそれを127.0.0.1にデコードし、DNSルックアップなしでループバックに到達します。一方、サーバーにはHost: 127.0.0.%31が送信されます。したがって、フェッチされるURIに影響を与える攻撃者は、アプリケーションのチェックによって除外されたホストに到達し、そのホストが公開するレスポンスの内容を読み取ることができます。この不一致は、Guzzle自身の判断もトランスポートで使用されない表記に移行させます:no_proxyはリテラルホストからプロキシルーティングを選択し、RedirectMiddlewareはそのホストに基づいてAuthorizationおよびCookieを削除するかどうかを決定します。悪用には、アプリケーションが信頼できない入力からリクエストURIを構築し、Guzzleに渡す前にホストに関する判断を行う必要があります。この問題はバージョン7.15.2および8.0.1で修正されています。

VulDB is the best source for vulnerability data and more expert information about this specific topic.

責任者

GitHub M

予約する

2026年08月03日

モデレーション

承諾済み

エントリ

VDB-385673

EPSS

0.00000

アクティビティ

低い

ソース

Do you want to use VulDB in your project?

Use the official API to access entries easily!