От кого: кто угодно@icloud.com — подделка любых отправителей в iCloud

· Безопасность
Исследователь SEC Consult нашёл в почтовой инфраструктуре Apple iCloud два способа отправлять письма от имени любого адреса @icloud.com — вплоть до tim.cook@icloud.com, проходя проверки SPF, DKIM и DMARC.

cover.svg

Тимо Лонгин из SEC Consult Vulnerability Lab, известный исследованием SMTP smuggling, описал две экзотические уязвимости подделки писем в почтовых сервисах Apple iCloud. Обе позволяют отправлять сообщения от имени произвольного адреса @icloud.com.

От smuggling к «контрабанде» заголовков

Классический SMTP smuggling, прогремевший в конце 2023 года, эксплуатировал расхождения в том, как разные серверы понимают конец блока данных письма. К 2024 году крупные реализации (Postfix, Sendmail, Exim и другие) выпустили исправления. Попытки найти новые способы «вырваться» из тела письма и подсунуть команды SMTP, по признанию автора, не дали результата — ни один из сотен тестов не сработал.

Тогда исследователь зашёл с другой стороны. Получателю важен не адрес из команды MAIL FROM, а адрес в заголовке From внутри письма. Apple не позволяет указать чужой адрес в этом заголовке напрямую — приходит ошибка «From address is not one of your addresses». Но проверку можно обойти, если заставить два внутренних обработчика iCloud по-разному разобрать одно и то же письмо.

Два разных парсера

Письмо, отправленное на smtp.mail.me.com, проходит через два этапа. Первый проверяет заголовок From по адресу авторизованного пользователя, второй (судя по признакам — на базе Postfix) формирует итоговое сообщение и подписывает его DKIM.

Первый приём использует одиночные символы возврата каретки. Из-за них первый обработчик видит «правильный» заголовок с адресом пользователя и пропускает письмо, а второй — заменяет символы и выталкивает легитимный заголовок в тело, оставляя наружу поддельный admin@icloud.com. Поскольку DKIM-подпись ставится уже после всех преобразований, письмо успешно проходит SPF, DKIM и, как следствие, DMARC.

Когда Apple ужесточила разбор заголовков, Лонгин нашёл второй путь — через правила «dot-stuffing» (добавление и удаление точек в начале строк). Первый обработчик их не соблюдает, что снова разводит интерпретации двух парсеров. В доказательство исследователь отправил письмо от имени бывшего гендиректора Apple — tim.cook@icloud.com.

Полтора года переписки и 15 000 долларов

Раскрытие заняло около полутора лет. Apple не отнеслась к находке легкомысленно: по программе Apple Security Bounty выплачено 15 000 долларов. Автор отмечает, что это может стать прецедентом — спуфинг-уязвимости обычно считают недостаточно опасными и выводят за рамки bug bounty, хотя именно подделка отправителя лежит в основе фишинга.

Вывод неутешителен: разбор древнего и сложного протокола SMTP остаётся источником ошибок, а подлинность отправителя письма куда менее надёжна, чем полагает большинство пользователей.


Источник: Lobsters

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.