概要
CVE-2026-2835は、PingoraのHTTP/1.0リクエストボディの処理と、複数のTransfer-Encodingヘッダーの取り扱いにおける不適切な解析に起因するHTTPリクエストスマグリング(CWE-444)の脆弱性です。これにより、Pingoraとバックエンドサーバー間でリクエストの境界認識にずれが生じ、攻撃者が悪意のあるリクエストを挿入する可能性があります。この脆弱性は「CRITICAL」(CVSSスコア9.3)と評価されています。
影響範囲
この脆弱性は、HTTP/1.0リクエストを受け入れる特定のバックエンドサーバーの前に配置された、スタンドアロンのPingoraデプロイメントに主に影響すると報告されています。CloudflareのCDNインフラストラクチャは、そのイングレスプロキシ層がHTTP/1.1リクエストのみを転送し、曖昧なフレーミングを拒否するなどの対策を講じていたため、この脆弱性の影響を受けなかったとされています。
想定される影響
攻撃者は、細工されたリクエストを送信することで、以下のような深刻な影響を引き起こす可能性があります。
- プロキシレベルのACL(アクセス制御リスト)やWAF(Webアプリケーションファイアウォール)ロジックの迂回。
- キャッシュやアップストリーム接続の汚染。これにより、正当なユーザーからの後続のリクエストが、不正なリクエストに対する応答を受け取る可能性があります。
- セッションハイジャックや、信頼されたプロキシIPから発信されたように見せかけるリクエストの挿入による、クロスユーザー攻撃の実行。
攻撃成立条件・悪用状況
攻撃は、PingoraがHTTP/1.0リクエストボディをclose-delimitedとして不適切に許可している点、および複数のTransfer-Encoding値を誤って処理する点を利用して成立します。現時点での具体的な悪用状況については、この情報からは明確ではありませんが、脆弱性の性質上、悪用される可能性は高いと考えられます。
推奨対策(優先度付き)
【最優先】Pingoraのバージョンアップ
Pingoraユーザーは、この問題を修正したPingora v0.8.0以降のバージョンに速やかにアップグレードしてください。このバージョンでは、RFC 9112に準拠したメッセージ長ヘッダーの正しい解析と、HTTPリクエストボディがclose-delimitedであってはならないというRFCガイドラインへの厳格な準拠が実装されています。
一時的な緩和策
直ちにバージョンアップが困難な場合、以下のいずれかの条件に合致するリクエストをリクエストフィルターロジックでエラーとして拒否し、接続でのバイト処理を停止し、ダウンストリーム接続の再利用を無効にすることで、一時的な緩和策を講じることが可能です。
- HTTP/1.1以外のリクエスト
- 無効なContent-Lengthを持つリクエスト
- 複数のTransfer-Encodingヘッダーを持つリクエスト
- 「chunked」という文字列と完全に一致しないTransfer-Encodingヘッダーを持つリクエスト
確認方法
現在利用しているPingoraのバージョンを確認し、v0.8.0未満である場合は脆弱性の影響を受ける可能性があります。また、PingoraがHTTP/1.0リクエストを受け入れる設定になっているか、またはバックエンドサーバーがHTTP/1.0リクエストを受け入れる設定になっているかを確認してください。
参考情報
詳細については、以下のCVE情報をご参照ください。