Výzkumníci společnosti SEC Consult zveřejnili novou techniku spoofingu, která je způsobena nesrovnalostmi ve sledování specifikace v různých implementacích protokolu SMTP. Navrhovaná technika útoku umožňuje rozdělit jednu zprávu na několik různých zpráv při jejím přenosu z původního SMTP serveru na jiný SMTP server, který interpretuje sekvenci pro rozdělení zpráv přenášených jedním spojením odlišně. Metoda může být použita k odesílání falešných zpráv jménem jiných odesílatelů v poštovních službách, které ověřují původního odesílatele.
Problém spočívá v tom, že různé SMTP servery odlišně interpretují sekvenci ukončení dat, což může vést k rozdělení jedné zprávy na několik během jednoho sezení se SMTP serverem. V specifikaci pro označení ukončení přenosu zprávy je definována sekvence „\r\n.\r\n“ (tečka ohraničená znaky návratu kurzoru a nového řádku). Po této sekvenci mohou následovat příkazy pro přenos další zprávy bez přerušení spojení. Některé SMTP servery přísně dodržují pokyny, ale jiné, aby zajistily kompatibilitu s některými vzácnými poštovními klienty, zpracovávají jako oddělovače i takové sekvence jako „\n.\n“, „\n.\r\n“, „\r\n.\n“, „\r.\r“, „\r\n\0.\r\n“ a „\r\n\0.\r\n“.
Útok spočívá v tom, že na první server, který zpracovává pouze oddělovač „\r\n.\r\n“, je odeslána zpráva, jejíž tělo obsahuje alternativní oddělovač, například „\r.\r“, za nímž následují příkazy pro odeslání druhé zprávy. Protože první server přísně dodržuje specifikaci, zpracovává přijatou sekvenci jako jednu zprávu. Pokud je dále zpráva směrována na tranzitní server nebo server příjemce, který navíc interpretuje sekvenci „\r.\r“ jako oddělovač, bude zpracována jako dvě samostatně odeslané zprávy (druhá zpráva může být odeslána jménem uživatele, který nebyl autentizován přes „AUTH LOGIN“, ale na straně příjemce se zdá být korektní).


Mezi příklady SMTP serverů a služeb, které umožňují alternativní oddělovače, patří Postfix, Sendmail, MS Exchange Online a Cisco Secure Email Gateway. Mezi emailovými službami, které nefiltrují nesprávné oddělovače z emailů při kontaktu s jinými servery, jsou GMX, iCloud a Microsoft Outlook.
Pro blokování problému v Postfixu byly do verzí 3.8.1, 3.7.6, 3.6.10 a 3.5.20 přidány nastavení „smtpd_forbid_unauth_pipelining“, které vede k přerušení spojení v případě použití oddělovačů, které nevyhovují požadavkům RFC 2920 a RFC 5321. V současnosti je tato nastavení ve výchozím nastavení deaktivována, plánuje se však jejich aktivace ve výchozím nastavení v větvi Postfix 3.9, která se očekává na jaře 2024. V této větvi 3.9 bude také aktivováno nastavení smtpd_forbid_bare_newline, které vrací chybu při použití pouze znaku nového řádku („\n“) pro oddělování řádků, což porušuje RFC 5321.
Ve chystané verzi Sendmail 8.18.0.2 byla pro ochranu proti útoku v srv_features navržena volba ‘o’, která zahrnuje zpracování pouze sekvence „\r\n.\r\n“. Uvádí se, že vypnutí podpory alternativních oddělovačů může narušit fungování některých raritních emailových klientů, které plně nevyhovují specifikaci SMTP.
Zdroj: opennet.ru
