1. postfix

https://nvd.nist.gov/vuln/detail/CVE-2023-51764

Remote attackers can use a published exploitation technique to inject e-mail messages with a spoofed MAIL FROM address, allowing bypass of an SPF protection mechanism.

smtpd_forbid_bare_newline=yes option

SMTP Smuggling https://www.postfix.org/smtp-smuggling.html

1.1. Summary

Days before a 10+ day holiday break and associated production change freeze, SEC Consult has published an email spoofing attack that involves a composition of email services with specific differences in the way they handle line endings other than <CR><LF>.

Unfortunately, criticial information provided by the researcher was not passed on to Postfix maintainers before publication of the attack, otherwise we would certainly have convinced SEC Consult to postpone publication until after people had a chance to update their Postfix or other affected systems.

The net result appears to be that an unintended zero-day attack was published because some people weren't aware of the scope of the attack.

1.2. Details

The attack involves a COMPOSITION of two email services 
with specific differences in the way they handle line endings other than <CR><LF>:

One email service A that does not recognize malformed line endings in SMTP such as in <LF>.<CR><LF> in an email message from an authenticated attacker to a recipient at email service B, and that propagates those malformed line endings verbatim when it forwards that message to:

One different email service B that does support malformed line endings in SMTP such as in <LF>.<CR><LF>.

When this is followed by "smuggled" SMTP MAIL/RCPT/DATA commands and message header plus body text, email service B is tricked into receiving two email messages: one message with the content before the <LF>.<CR><LF>, and one message with the "smuggled" header plus body text after the "smuggled" SMTP commands. All this when email service A sends only one message.

Postfix is an example of email service B. Microsoft's outlook.com was an example of email service A.

1.3. Impact

The authenticated attacker can use the "smuggled" SMTP MAIL/RCPT/DATA commands and 
header plus body text, to spoof an email message 
from any MAIL FROM address whose domain is also hosted at email service A, 
to any RCPT TO address whose domain is also hosted at email service B.

メールサービスAでホストされているドメインのMAIL FROMアドレスから、 メールサービスBでホストされているドメインのRCPT TOアドレスにメールメッセージを送れる。

The spoofed email message will pass SPF-based DMARC checks at email service B,
because the spoofed message has a MAIL FROM address whose domain is hosted at email service A,
and because the message was received from an IP address for email service A.

メールサービスBにおいては、SPFベースのDMARCチェックも通過します。

1.4. history

日本語訳 Bard:

この攻撃は、<CR><LF>以外の行末の処理方法に特定の違いがある2つのメールサービスの組み合わせによって行われます。

メールサービスA
    SMTPで<LF>.<CR><LF>などの不正な改行を認識しない
    認証された攻撃者からメールサービスBの受信者へのメールメッセージ内の不正な改行を、転送時にそのまま伝搬する

メールサービスB
    SMTPで<LF>.<CR><LF>などの不正な改行をサポートする

攻撃手順
    攻撃者は、不正な改行<LF>.<CR><LF>に続けて、
    密輸された"SMTP MAIL/RCPT/DATAコマンドとメッセージヘッダーおよび本文テキストをメールサービスAに送信します。

    メールサービスAは、不正な改行を認識せず、受信したメールをそのままメールサービスBに転送します。

    メールサービスBは、不正な改行を<CR><LF>と解釈し、2つのメールメッセージを受信したと認識します。
        1つ目のメッセージは、<LF>.<CR><LF>の前のコンテンツを含む。
        2つ目のメッセージは、"密輸された"SMTPコマンドの後に続く"密輸された"ヘッダーと本文テキストを含む。

結果として、メールサービスAが1つのメッセージしか送信していないにもかかわらず、メールサービスBは2つのメッセージ受信したと誤認します。

具体例
    メールサービスBの例: Postfix
    メールサービスAの例 (過去の脆弱性例): Microsoftのoutlook.com


CategoryDns CategoryWatch CategoryTemplate

MoinQ: SMTP/Smuggling/Postfix (last edited 2024-02-24 07:59:41 by ToshinoriMaeno)