Asayomu Tech
注目★★★★GitHub Advisory

Nodemailer 9.1.0でメール宛先DoSを修正、9.0.6は即更新

30秒で把握

  • 1Nodemailer 9.0.6以前にO(n²)宛先解析でイベントループ停止
  • 2約1.5MBの宛先でCPU 100%が約25〜30秒継続
  • 39.1.0で修正、200,000件の解析を約25秒から約80msへ短縮

要約

Nodemailer 9.0.6以前のaddressparserに、細工した宛先リストでNode.jsのイベントループを停止させるO(n²)の処理欠陥がある。約1.5MBの入力でCPU使用率100%の状態が約25〜30秒続き、数MBでは停止が数分に及ぶ。To、Cc、Bcc、From、Reply-Toや公開APIのaddressparserが通常経路で影響を受け、特別な設定や受信者の協力は必要ない。Nodemailer 9.1.0で3つの二次計算量経路と大量宛先処理を修正し、200,000件の解析時間を約25秒から約80msへ短縮した。新たにmaxRecipientsの既定値100,000も追加された。

あなたへの影響

Nodemailer 9.0.6以前を使い、利用者入力が宛先に入る日本のサービスは、近日中に9.1.0へ更新し、入力長と宛先数の上限も確認してください。

推奨:O(n²)は入力が増えると処理量が二乗で増える計算量です。

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

関連する記事

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