| Sendmail-SA-200607-02 | Security Advisory
Sendmail, Inc. |
|---|
| トピック: | Milter方式フィルタ利用時のホスト名の非検証 |
|---|---|
| クラス: | ポリシーすり抜け |
| 深刻度: | 最重要 |
| 公開日: | 2006-08-02 09:00 PDT |
| 影響のあるソフトウェア: |
|
対策済みソフトウェア: |
|
上記のソフトウェアについての説明や他のセキュリティアドバイザリなど、Sendmail,Inc のセキュリティアドバイザリ全般についてお知りになりたい方は こちらをご覧ください。
Sendmail SwitchやSentrionを含むいくつかのSendmail製品は Flow Control, Mailstream Managerやその他ベンダの提供するフィルタを利用してメールをフィルタリングする機能を持っています。MTAはMilterプロトコルを使ってそれらのフィルタにSMTPクライアントのホスト名やIPアドレスなどの情報を渡します。
受け取ったフィルタでは、その情報をもとにポリシーを決定します。例えば、Flow Controlでは、一定時間に一定の通数のメールを受信し、それを上回ると受信拒否するなどという制御が可能です。この制限は接続元のクライアントに関する上記の情報を使って定義されます。
上記のMTAが送信するホスト名はDNSの逆引き(PTRレコードの参照)の結果得られるもので、そのホスト名の正引き(A か AAAA)を使った検証は行われておりませんでした。それゆえ、ホスト名の詐称が可能でした。多くのフィルタでは、このホスト名を正当なものとして扱い、MTAから送信される情報についてそれが正当かどうかの確認を行いません。
フィルタが参照するホスト名の正当性が検証されないため、攻撃者の逆引きのDNS情報を、攻撃されているサイトが信頼するホスト名に解決するように詐称することで、攻撃者がすべてのホスト名ベースのポリシをすり抜けることが可能です。 例えば、攻撃者は自身のIPアドレスを"attacker.example.com"ではなく、"localhost"として定義することで、"attacker.example.com"や"*.example.com"、または"*.com"に関するポリシーをスキップできます。さらに、"localhost"に関するポリシーがあり、それに自由なアクセスを許可している場合、そのポリシーは本当にlocalなホストではないところからきている接続に対しても有効になる場合があります。
すぐにパッチを適用できない場合は、MTAから渡されているホスト名に依存しているポリシーを変更することで、問題を回避できます。例えば、Flow ControlフィルタのポリシーではIPアドレスベースの制限のみを利用し、ホスト名やドメイン名による利用しないようにします。上記のlocalhostの説明はあくまでも1つの例です。"Host localhost"ポリシーに特別な制限を持たせても、攻撃者は簡単にいかなるホスト名にも詐称できますので、期待したように動作しません。
Sendmail, Incはこの問題に対処したSendmail Switchのパッチを提供しております。 このパッチによって、正当性を検証したホスト名をフィルターに送るように動作を変更してあります。もし、クライアントのホスト名が検証できない場合は、大括弧で囲んだIPアドレス、例えば"[192.168.21.45]"というような、をホスト名として渡します。この対処によって、ホスト名の詐称問題からフィルタを防御するとともに、検証されていないホスト名を参照する個々のフィルタ毎にパッチを適用することも避けることができます。 注意すべきなのは、MTA自体は攻撃の対象ではないということです。この脆弱性が問題となるのは、ホスト名を元に動作するポリシーをもつメールフィルタを利用している場合のみです。
パッチはサポート契約のあるお客様にはそれぞれダウンロードページよりご提供いたします。
https://www.sendmail.com/customerlogin/>サポート契約をお持ちでない方は次のページよりダウンロードできます
ftp://ftp.sendmail.com/unsupported/smswitch-patch-3.1.5-Windows.zip ftp://ftp.sendmail.com/unsupported/smswitch-patch-3.1.10-Linux.tar.gz ftp://ftp.sendmail.com/unsupported/smswitch-patch-3.1.10-Solaris8.tar.Z ftp://ftp.sendmail.com/unsupported/smswitch-patch-3.2.3-Linux.tar.gz ftp://ftp.sendmail.com/unsupported/smswitch-patch-3.2.3-Solaris8.tar.Z ftp://ftp.sendmail.com/unsupported/SentriOS-1.5.4-905.tarインストール方法については、それぞれのパッチに含まれるREADMEをご覧ください。それぞれのパッチのチェックサムを次に示します。
MD5 (smswitch-patch-3.1.5-Windows.zip) = 5d850d58dae989148f3ab4d778cafa0a
MD5 (smswitch-patch-3.1.10-Linux.tar.gz) = 5ee85cba36d391e37c8f2a570e9374ed
MD5 (smswitch-patch-3.1.10-Solaris8.tar.Z) = ce55025738bbaf40c54998c56f70a764
MD5 (smswitch-patch-3.2.3-Linux.tar.gz) = 8109fa0f0861fb18e67708273bb0cb70
MD5 (smswitch-patch-3.2.3-Solaris8.tar.Z) = 34c8193c56c3caae5229b6a01bbe67ce
MD5 (SentriOS-1.5.4-905.tar) = 20f362750fd58218069984247e6cfac1