JVNVU#146718:Sendmail における マルチパート MIME メッセージ処理に関する脆弱性(JP Vendor Status Notes)

Sendmail には、マルチパート MIME メッセージの処理に脆弱性があり、巧妙に細工されたメールを受信するとサーバのメモリを異常消費し、Sendmail のプロセスが異常終了する可能性があります。

この影響範囲だったら、かなり影響を受けそうな予感・・・

影響を受けるシステム
 - Sendmail 8.13.6 およびそれ以前

sendmail.orgでも対応が既にされている模様。8.13.7を適用する必要あり

Sendmail 8.13.7 Release Note

It fixes a potential denial of service problem caused by excessive recursion which leads to stack exhaustion when attempting delivery of a malformed MIME message. Therefore, the function mime8to7() has been modified to limit the recursion level at (the compile time constant) MAXMIMENESTING.

この修正は、不正なMIMEメッセージを受け取り配送するときにスタックを使い果たす用に導かれて起こるDoSの可能性を修正しています。
それ故に、mime8to7()関数で、MAXMIMENESTING(コンパイル時に一定の値)にて再帰的な深さを制限するように変更しました。

Note: This denial of service attack only affects delivery of mail from the queue and delivery of a malformed message. Other incoming mail is still accepted and delivered. However, mail messages in the queue may not be reattempted if a malformed MIME message exists. If you cannot upgrade immediately and your system runs into this problem, then you can try one of the following workarounds:

このDoS攻撃は、キューから不正なメッセージを配送する際に影響を受けます。
それ以外の受信メールはそのまま受け取り配送されます。
しかし、もし、不正なMIMEメッセージが存在する場合、キューにあるメールメッセージは再送されません。
もし、すぐにアップグレードできない場合でこの問題を受けるシステムの場合は、以下の回避方法の一つを試してみてください。

    * install a milter to block messages that could trigger the problem.
    * unlimit the stack size and limit the size of incoming messages.
    * change the queue run strategy to avoid the impact of crashes by selecting one of these options:
          o enable ForkEachJob
          o set QueueSortOrder to random 
      See doc/op/op.* and cf/README about these options. 

Sendmail-SA-200605-01:Security Advisory:深いネスト構造を持つ不正なMIMEメッセージによるサービス妨害攻撃

(セキュメモ経由)

メッセージの配送時に、特定の深いネスト構造を持つ不正なMIMEメッセージにより、MIMEの8-bitから7-bitへの変換ルーティンがプロセス毎に利用可能なスタックメモリ領域を使い果たし、そのプロセスが強制終了する場合があります。また、システムの設定に依存しますが、この時にそのプロセスの coreファイルがディスク上に書き残される場合もあります。