Asayomu Tech
注目★★★★★GitHub Advisory

Tornado に二次関数的 DoS、マルチパート解析で CPU 100%

30秒で把握

  • 1Tornado の _parseparam 関数にアルゴリズムの非効率性による O(n²) CPU 増加の脆弱性
  • 2マルチパートヘッダの細工で単一リクエストがサーバを長時間応答不能にする DoS 攻撃
  • 3Tornado ベースの本番 Web サービス運用チームは影響バージョン確認とパッチ待機・緩和策構築を急務

要約

Tornado の httputil.py にある _parseparam 関数が、マルチパート/フォームデータのヘッダ解析時に非効率なアルゴリズムを使い、CPU 使用率が O(n²) で増加する脆弱性が確認された (CVSS 評価なし・Severity High)。攻撃者が Content-Disposition ヘッダに大量の細工されたパラメータを含むリクエストを送信すると、サーバのシングルイベントループが長時間占有され、サービス全体が応答不能になる。string.count() をネストループ内で繰り返し呼ぶ実装が原因で、パッチは解析アルゴリズムの効率化で対処する予定。

あなたへの影響

Tornado を Web サーバとして運用するチームは、本脆弱性の影響を受けるバージョンを即座に把握し、提供元からのパッチ公開を待つか。

推奨:リバースプロキシレイヤで Content-Disposition ヘッダの検証・制限を施して緩和措置を検討すべき。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。