水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > 2011年のえび日記 > 2011年1月 > 2011年1月11日(火曜日)

2011年1月11日(火曜日)

.NET FrameworkでSMTPコマンドインジェクション

公開: 2011年1月22日18時40分頃

こんなお話が。

.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.

以上、RFC5321 4.5.2. Transparency より

昔はともかく、最近ではメール送信の処理はカプセル化されていて、プログラマがこのあたりを意識する必要はほとんどありません。……が、今回問題になったクラスではこの処理をしてくれないので、プログラマが意識しないと問題が起きるというわけですね。

※普通にバグだと思いますが、修正すると既存の対応済みのコードで動作に問題が出る可能性があるので、あえて修正はせずに時期バージョンで動作を変更するのでしょうね。個人的には直してしまっても良いと思うのですが。

関連する話題: Web / セキュリティ

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)」というのも出ていますが、これは別件というかメッセサンオーの問題そのものの改善なのですかね。修正内容が詳しく出ていないので良く分かりません。

関連する話題: Web / セキュリティ / WEBインベンター

最近の日記

関わった本など