A SEC Consult kutatói egy új spoofing technikát publikáltak, amely a SMTP protokoll különböző megvalósításainak specifikációval való eltéréseiből adódik. Az ajánlott támadási technika lehetővé teszi, hogy egy üzenetet több különböző üzenetre bontsanak, amikor az az elsődleges SMTP szerverről egy másik SMTP szerverre kerül át, amely másként értelmezi az egy kapcsolaton keresztül küldött üzenetek elválasztását. Ez a módszer felhasználható hamis üzenetek küldésére más feladó nevében olyan levelező szolgáltatásokban, amelyek ellenőrzik az eredeti feladót.
A probléma abból adódik, hogy a különböző SMTP szerverek másként értelmezik az adatok befejezésének a sorrendjét, ami oda vezethet, hogy egy üzenetet több darabra osztanak egy SMTP szerverrel folytatott kapcsolat keretein belül. A levelezés befejezésének jelölésére a specifikációban a "\r\n.\r\n" (pont, amelyet visszatérő karakterek és új sortörések kereteznek) sorrend került meghatározásra. Ezt a sorrendet követően parancsok adhatók egy másik üzenet elküldésére anélkül, hogy a kapcsolat megszakadna. Egyes SMTP szerverek szigorúan követik az előírásokat, de mások, hogy kompatibilisek legyenek bizonyos ritka levelezőklienssel, a következő elválasztókként is kezelik a sorrendeket: "\n.\n", "\n.\r\n", "\r\n.\n", "\r.\r", "\r\n\0.\r\n" és "\r\n\0.\r\n".
A támadás lényege, hogy az első szerver, amely csak a "\r\n.\r\n" elválasztóval dolgozik, egy olyan üzenetet kap, amelynek a törzsében alternatív elválasztó van, például "\r.\r", majd ezt követően következnek a második üzenet küldésére vonatkozó parancsok. Mivel az első szerver szigorúan követi a specifikációt, az átvett sorrendet egy üzenetként kezeli. Ha ezután az üzenet egy tranzitszerverre vagy a fogadó szerverre kerül, amely további elválasztóként érzékeli a "\r.\r" sorrendet, akkor az két külön üzenetként fog feldolgozásra kerülni (a második üzenet olyan felhasználótól is elküldhető, akit nem autentikáltak az "AUTH LOGIN" segítségével, de a fogadó számára helyesnek tűnik).


Alternatív elválasztókat elfogadó SMTP-szerverek és szolgáltatások például a Postfix, Sendmail, MS Exchange Online és a Cisco Secure Email Gateway. Azok a levelezőszolgáltatások, amelyek nem szűrik a levelekből érkező helytelen elválasztókat más szerverekkel való kapcsolódáskor — GMX, iCloud és Microsoft Outlook.
A Postfix 3.8.1, 3.7.6, 3.6.10 és 3.5.20 kiadásaiban a „smtpd_forbid_unauth_pipelining” beállítás került hozzáadásra a probléma blokkolására, ami megszakítja a kapcsolatot, ha olyan elválasztókat használnak, amelyek nem felelnek meg az RFC 2920 és RFC 5321 követelményeinek. Jelenleg ez a beállítás alapértelmezés szerint ki van kapcsolva, de terveik szerint alapértelmezés szerint aktiválják a Postfix 3.9-es ágazatában, amelynek megjelenésére 2024 tavaszán számítanak. A 3.9-es ágba a smtpd_forbid_bare_newline beállítást is beépítik, amely hibaüzenetet ad, ha csak a sortörés karaktert („\n”) használják a sorok elválasztására, ami megsérti az RFC 5321-et.
A közelgő Sendmail 8.18.0.2 verzióban a srv_features ajánl egy ‘o’ opciót a támadások védelmére, amely csak a „\r\n.\r\n” szekvenciát kezeli. Megjegyzik, hogy az alternatív elválasztók támogatásának kikapcsolása néhány régi levelezőklient működését zavarhatja, amelyek nem teljes mértékben felelnek meg az SMTP-specifikációnak.
Forrás: opennet.ru
