guzzlephpのpsr-7における複数の脆弱性
タイトル guzzlephpのpsr-7における複数の脆弱性
概要

guzzlehttp/psr7はPHPで実装されたPSR-7 HTTPメッセージライブラリです。バージョン2.10.2未満には、生のHTTPリクエストメッセージを解析する際およびサーバ変数からサーバリクエストURIを導出する際に、Hostヘッダーの不適切な検証があります。攻撃者は`trusted.example@evil.example`のようなURI権限区切り文字を含む不正なHostヘッダーを提供できます。Host値がURIの構築に使用されると、この不正な値はURIのuserinfoおよびhostとして誤解釈される可能性があります。これにより、PSR-7リクエストURIのホストが元のHostヘッダー値と異なる場合があります。`GuzzleHttp\Psr7\Message::parseRequest()`やレガシーな1.xの`GuzzleHttp\Psr7\parse_request()`関数で攻撃者制御の生HTTPリクエストを解析する場合、または攻撃者制御のサーバ変数からサーバリクエストを構築し、その得られたURIホストをルーティング、許可リストチェック、転送判断に用いるアプリケーションが影響を受けます。影響を受ける転送やゲートウェイのシナリオでは、リクエストや認証情報が意図しないホストへ送信される可能性があります。この問題はバージョン2.10.2で修正されました。1.xはサポート終了済みで修正パッチは提供されません。一部の回避策として、不正なHTTPリクエストデータに対して`Message::parseRequest()`やレガシー`parse_request()`の呼び出し前、または解析済みのリクエストURIからルーティングや転送判断を行う前に、Hostヘッダーを`uri-host [ ":" port ]`形式として検証し、userinfo、パス、クエリ、フラグメントの区切り文字を含むHost値を拒否してください。

想定される影響 ・当該ソフトウェアが扱う情報の一部が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う情報について、書き換えは発生しません。 ・当該ソフトウェアは停止しません。 
対策

ベンダ情報を参照して適切な対策を実施してください。

公表日 2026年6月11日0:00
登録日 2026年6月16日13:36
最終更新日 2026年6月16日13:36
CVSS3.0 : 警告
スコア 5.3
ベクター CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
影響を受けるシステム
guzzlephp
psr-7 2.10.2 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
変更履歴
No 変更内容 変更日
1 [2026年06月16日]
  掲載
2026年6月16日13:36

NVD脆弱性情報
CVE-2026-48998
概要

guzzlehttp/psr7 is a PSR-7 HTTP message library implementation in PHP. Versions prior to 2.10.2 contain improper Host header validation when parsing raw HTTP request messages and when deriving a server request URI from server variables. An attacker can provide a malformed Host header containing URI authority delimiters, such as `trusted.example@evil.example`. When the Host value is used to construct a URI, the malformed value can be reinterpreted as URI userinfo and host. This can cause the PSR-7 request URI host to differ from the original Host header value. Applications are affected if they parse attacker-controlled raw HTTP requests with `GuzzleHttp\Psr7\Message::parseRequest()` or the legacy 1.x `GuzzleHttp\Psr7\parse_request()` function, or if they build server requests from attacker-controlled server variables, then rely on the resulting URI host for routing, allow-list checks, or forwarding decisions. In affected forwarding or gateway scenarios, this may cause requests or credentials to be sent to an unintended host. The issue is patched in `2.10.2`. `1.x` is end-of-life and will not receive a patch. Some workarounds are available. Validate the `Host` header as `uri-host [ ":" port ]` before calling `Message::parseRequest()` or legacy `parse_request()` on untrusted HTTP request data, or before deriving routing and forwarding decisions from a parsed request URI. Reject Host values containing userinfo, path, query, or fragment delimiters.

公表日 2026年6月11日22:16
登録日 2026年6月12日4:18
最終更新日 2026年6月15日23:52
影響を受けるソフトウェアの構成
構成1 以上 以下 より上 未満
cpe:2.3:a:guzzlephp:psr-7:*:*:*:*:*:*:*:* 2.10.2
関連情報、対策とツール
共通脆弱性一覧