【活用ガイド】

JVNDB-2026-013905

Tinyproxy projectのTinyproxyにおけるHTTP リクエストスマグリングに関する脆弱性

概要

Tinyproxy 1.11.3までのバージョンには、src/reqs.cのTransfer-Encodingヘッダーに対する大文字小文字を区別する比較のためにHTTPリクエスト解析の非同期化に脆弱性があります。is_chunked_transfer()関数はstrcmp()を使用してヘッダー値と"chunked"を比較していますが、RFC 7230ではtransfer-coding名が大文字小文字を区別しないことが規定されています。Transfer-Encoding: Chunkedを指定したリクエストを送信すると、認証されていないリモート攻撃者はTinyproxyにリクエストの本文がないと誤認させることが可能です。この状態では、Tinyproxyはcontent_length.clientを-1に設定し、pull_client_data_chunked()をスキップし、リクエストヘッダーを上流に転送し、未読の本文データがバッファリングされたままrelay_connection()の生TCP転送に移行します。これにより、Tinyproxyとバックエンドサーバー間でリクエスト状態が不整合となります。RFC準拠のバックエンド(例えばNode.jsやNginx)はチャンク化された本文データの受信を待ち続けるため、接続が無期限にハングする原因となります。この挙動はバックエンドワーカーの枯渇によるアプリケーションレベルのサービス拒否攻撃を可能にします。さらに、Tinyproxyがリクエスト本文の検査、フィルタリング、またはセキュリティ強制に使用されている環境では、未読の本文が適切な検査を受けることなく転送される可能性があり、セキュリティ制御の回避を引き起こす恐れがあります。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 7.5 (重要) [その他]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): なし
  • 完全性への影響(I): なし
  • 可用性への影響(A): 高
CVSS v2 による深刻度
基本値: 7.8 (危険) [その他]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃前の認証要否: 不要
  • 機密性への影響(C): なし
  • 完全性への影響(I): なし
  • 可用性への影響(A): 全面的
影響を受けるシステム


Tinyproxy project
  • Tinyproxy 1.11.3 およびそれ以前

想定される影響

当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。
また、当該ソフトウェアが扱う情報について、書き換えは発生しません。
さらに、当該ソフトウェアが完全に停止する可能性があります。
そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
対策

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

CWEによる脆弱性タイプ一覧  CWEとは?

  1. HTTP リクエストスマグリング(CWE-444) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-31842
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-31842
  2. 関連文書 : GitHub - tinyproxy/tinyproxy: tinyproxy - a light-weight HTTP/HTTPS proxy daemon for POSIX operating systems  GitHub
  3. 関連文書 : HTTP Request Parsing Desynchronization via Case-Sensitive Transfer-Encoding Handling  Issue #604  tinyproxy/tinyproxy
  4. 関連文書 : RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
更新履歴

  • [2026年05月01日]
      掲載