Istraživači iz tvrtke SEC Consult objavili su novu tehniku uspješnog krivotvorenja uzrokovanu nesrazmjernostima u slijedu specifikacije u različitim implementacijama SMTP protokola. Predložena tehnika napada omogućava razdvajanje jedne poruke na nekoliko različitih poruka prilikom prijenosa s izvornog SMTP poslužitelja na drugi SMTP poslužitelj, koji drugačije tumači redoslijed za razdvajanje poruka koje se šalju kroz jedne veze. Metoda se može koristiti za slanje lažnih poruka u ime drugih pošiljatelja u e-mail servisima koji provjeravaju izvornog pošiljatelja.
Problem je uzrokovan time što različiti SMTP poslužitelji različito tumače redoslijed završetka podataka, što može dovesti do razdvajanja jedne poruke na nekoliko tijekom jedne sesije s SMTP poslužiteljem. U specifikaciji za označavanje završetka prijenosa poruke definira se niz „\r\n.\r\n” (točka, okružena povratnim znakom i znakom za novi red). Nakon ovog niza mogu slijediti komande za prijenos druge poruke bez prekida veze. Neki SMTP poslužitelji strogo se drže propisa, ali drugi, kako bi osigurali kompatibilnost s nekim rijetkim e-mail klijentima, obrađuju i takve nizove kao što su „\n.\n”, „\n.\r\n”, „\r\n.\n”, „\r.\r”, „\r\n\0.\r\n” i „\r\n\0.\r\n”.
Napad se svodi na to da se na prvi server, koji obrađuje samo razdjelnik „\r\n.\r\n”, šalje poruka čije tijelo sadrži alternativni razdjelnik, kao što je „\r.\r”, nakon čega slijede komande za slanje druge poruke. Kako prvi poslužitelj strogo slijedi specifikaciju, obrađuje primljeni niz kao jednu poruku. Ako se sljedeće poruka šalje na tranzitni poslužitelj ili poslužitelj primatelja koji dodatno interpretira niz „\r.\r” kao razdjelnik, ona će biti obrađena kao dva odvojeno poslana pisma (druga poruka može biti poslana u ime korisnika koji nije autentificiran putem „AUTH LOGIN”, ali će izgledati kao ispravna na strani primatelja).


Primjeri SMTP poslužitelja i usluga koje dopuštaju alternativne razdjeljnike su Postfix, Sendmail, MS Exchange Online i Cisco Secure Email Gateway, dok među uslugama e-pošte koje ne filtriraju neispravne razdjeljnike iz poruka pri obradi s drugim poslužiteljima nalazimo GMX, iCloud i Microsoft Outlook.
Za blokiranje problema u Postfixu, verzije 3.8.1, 3.7.6, 3.6.10 i 3.5.20 dodana je opcija «smtpd_forbid_unauth_pipelining», koja prekida vezu u slučaju korištenja razdjeljnika koji ne udovoljavaju zahtjevima RFC 2920 i RFC 5321. Trenutno je ova opcija prema zadanim postavkama onemogućena, ali se planira aktivirati prema zadanim postavkama u verziji Postfix 3.9, koja se očekuje na proljeće 2024. godine. U verziji 3.9 također će biti uključena opcija smtpd_forbid_bare_newline, koja ispisuje grešku pri korištenju samo znaka novog reda («\n») za razdvajanje redaka, što krši RFC 5321.
U pripremljenoj verziji Sendmail 8.18.0.2 za zaštitu od napada u srv_features predložena je opcija ‘o’, koja uključuje obradu samo sekvenci «\r\n.\r\n». Napominje se da onemogućavanje podrške za alternativne razdjeljnike može ometati rad nekih rijetkih klijenata e-pošte koji ne udovoljavaju u potpunosti specifikaciji SMTP.
Izvor: opennet.ru
