2011年1月11日(火曜日)
.NET FrameworkでSMTPコマンドインジェクション
公開: 2011年1月22日18時40分頃
こんなお話が。
- [PDF].NET Framework上の SMTP Command Injectionについて (www.ntt.com)
.NET FrameworkのSystem.Net.Mail.AlternateViewクラスやSystem.Net.Mail.AttachmentクラスにSMTPコマンドインジェクションの問題があるそうで。
SMTPでメールを送る際は、EHLO, MAIL FROM, RCPT TOなどのコマンドを送った後にDATAコマンドを送り、その後にメール本文を送って、QUITコマンドで終了します。コマンドの終端はCRLFですが、メール本文を送る際には改行を含められないと困りますので、本文のデータは .(ピリオド) 一文字だけの行が終端を表すルールになっています。従って、メール本文のつもりで . だけの行を送ると、SMTPサーバはそれをデータの終端とみなし、以降の入力をコマンドとして処理してしまう場合があります。
そのため、本文に . で始まる行があった場合は、もう一つ . を追加してから送信する必要があります。これは RFC5321 4.5.2 に書かれています。
Before sending a line of mail text, the SMTP client checks the first character of the line. If it is a period, one additional period is inserted at the beginning of the line.
昔はともかく、最近ではメール送信の処理はカプセル化されていて、プログラマがこのあたりを意識する必要はほとんどありません。……が、今回問題になったクラスではこの処理をしてくれないので、プログラマが意識しないと問題が起きるというわけですね。
※普通にバグだと思いますが、修正すると既存の対応済みのコードで動作に問題が出る可能性があるので、あえて修正はせずに時期バージョンで動作を変更するのでしょうね。個人的には直してしまっても良いと思うのですが。
- 「.NET FrameworkでSMTPコマンドインジェクション」にコメントを書く
WEBインベンター、XSSを修正か
公開: 2011年1月12日1時0分頃
こんなのが出ています……「JVN#86347943 SGX-SP Final および SGX-SP Final NE におけるクロスサイトスクリプティングの脆弱性 (jvn.jp)」。
「Webインベンター」という名前は聞いたことがあるなぁ、と思ったらメッセサンオーの漏洩の時に話題になっていた会社ですね。
しかも、よく見たら届け出たのは私でした。WEBインベンターがCookieを使うようになった時に発見して届け出ていたようです。すっかり忘れていました……。
※「JVN#53293565 Contents-Mall におけるパスワードの取扱いに関する脆弱性 (jvn.jp)」というのも出ていますが、これは別件というかメッセサンオーの問題そのものの改善なのですかね。修正内容が詳しく出ていないので良く分かりません。
- 前(古い): 2011年1月9日(Sunday)のえび日記
- 次(新しい): 2011年1月13日(Thursday)のえび日記