JPCERTコーディネーションセンター(JPCERT/CC: Japan Computer Emergency Response Team Coordination Center)は1月17日、「JVNVU#94855660: SMTPのデータの終端の処理の実装に関する問題」において、SMTP(Simple Mail Transfer Protocol)に違反する終端を受信した際の処理が実装によって異なる問題について注意喚起した。RFCのSMTPでは終端を「<CRLF>.<CRLF>」として定義しているが、これ以外のデータを受信した場合にSPF(Sender Policy Framework)保護をバイパスしてなりすましメールを送信される可能性がある。
SMTPにまつわる問題の詳細
問題の詳細と影響を受ける実装については、以下のWebサイトから確認することができる。
SEC Consultのセキュリティ研究者によると、標準のデータ終了シーケンスを一貫して扱っていない実装が存在し、攻撃者が故意に仕様を逸脱するメッセージを作成することで、メッセージの転送時に誤った処理を引き起こして複数のメッセージとして転送させる可能性があるという。人気があるSMTP実装「Postfix」の開発者は、「<CRLF>以外の行末処理に明確な違いがある2つ以上の実装の組み合わせが関与している」と説明しており、解決にはすべての実装において統一した結論を得る必要があることを示している。
SEC Consultのセキュリティ研究者はこの問題の解決を図るため、メール送信に関係する各種ベンダにおいて議論中としている。また、認識を統一するために、この問題を「SMTP Smuggling」と命名している。
主要なオープンソースの実装に対しては、脆弱性情報データベース(CVE: Common Vulnerabilities and Exposures)に次のとおり追加されている。
- Exim - CVE-2023-51766 - Eximは終端に「<LF>.<CRLF>」をサポートしているが、他の実装がサポートしていないため、SPF保護をバイパスする可能性がある
- Postfix - CVE-2023-51764 - Postfixは終端に「<LF>.<CRLF>」をサポートしているが、他の実装がサポートしていないため、特別な設定が指定されていない限り、SPF保護をバイパスする可能性がある
- Sendmail - CVE-2023-51765 - Sendmailは終端に「<LF>.<CRLF>」をサポートしているが、他の実装がサポートしていないため、特別な設定が指定されていない限り、SPF保護をバイパスする可能性がある
検証のためのツール公開
SEC Consultはこの問題の検証を容易にするため、ツールを「GitHub - The-Login/SMTP-Smuggling-Tools: Tools for finding SMTP smuggling vulnerabilities.」にて公開した。このツールを使用することで、SMTPサーバのインバウンドおよびアウトバウンドがSMTP Smugglingの影響を受けるかスキャンすることができる。
対策
メールサービスを利用する一般ユーザーは、この問題の解決に関してできることはない。ただし、この問題を悪用したなりすましメールを受信する可能性があることを理解し、悪意のあるメールにだまされないように注意することが望まれている。
SMTPサービスを提供するサーバの管理者は、運用しているSMTP実装に影響があるか確認し、開発元の提供する情報に従いアップデートすることが推奨されている。なお、一部の実装ではアップデートに加えて設定の変更を必要とする場合がある。
また、メールセキュリティアプライアンスやメールゲートウェイを使用している場合も影響を確認し、必要に応じてアップデートする必要がある。可能であればパートナによってホストされている電子メールバックアップMXレコードおよびサービスも、誤用または悪用から保護されていることを確認することが望まれている。