Группа специалистов из Рурского университета в Бохуме и Мюнстерского университета прикладных наук опубликовала доклад, рассказывающий об уязвимостях ряда почтовых клиентов. Оказалось, некоторые десктопные клиенты весьма странно работают со ссылками типа mailto, что в итоге может привести к хищению локальных файлов, которые могут быть оправлены злоумышленнику в качестве вложений.
Корень проблемы заключается в том, как в уязвимых клиентах реализован стандарт RFC6068, описывающий URI-схему mailto. Напомню, что такие ссылки обычно поддерживаются почтовыми клиентами и браузерами, и нажатие на них приводит к открытию нового окна для составления электронного письма (или ответа), а не новую страницу или сайт.
Согласно RFC6068, ссылки mailto могут поддерживать различные параметры, которые могут использоваться для предварительного заполнения нового email-окна предопределенным содержимым. К примеру, ссылка вида <a href="mailto:bob@host.com?Subject=Hello&body=Friend">Click me!</a> откроет новое окно для создания письма, в котором адрес электронной почты получателя будет bob@host.com, темой будет значиться «Hello», а текст будет начинаться с «Friend».
Хотя RFC6068 имеет множество настраиваемых параметров, разработчикам обычно рекомендуется придерживаться лишь нескольких безопасных вариантов. Так, согласно свежему докладу, некоторые почтовые клиенты поддерживают весьма экзотические параметры, из-за чего их пользователи оказываются под угрозой.
В частности, речь идет о параметрах attach или attachment, которые позволяют ссылкам mailto открывать новые окна с уже вложенным файлом. В итоге злоумышленники могут отправлять жертвам письма, содержащие замаскированные ссылки mailto, или размещать вредоносные ссылки mailto на сайтах. При нажатии на такие ссылки конфиденциальные файлы могут автоматически добавляться во вложения к письмам.
Если пользователь не заметит прикрепленный файл, атакующий может заполучить конфиденциальные данные, включая ключи SSH и PGP, файлы конфигурации, файлы криптовалютных кошельков, пароли или важные бизнес-документы (при условии, что пути для этих файлов известных хакеру).
Исследователи протестировали несколько сценариев такой атаки:
- использование точных путей к нужным файлам;
- использование знаков «*» для кражи сразу нескольких файлов;
- использование URL-адресов для внутренних сетевых ресурсов (\\company_domain\file );
- использование URL-адресов, приводящих жертву на SMB-сервер злоумышленника, из-за чего у жертвы утекает хэш NTLM (\\evil.com\dummyfile);
- использование IMAP-ссылок для кражи всей электронной почты из IMAP-ящика пользователя (imap:///fetch>UID>/INBOX).
В результате проверки 20 почтовых клиентов обнаружилось, что 4 из них уязвимы перед атаками через ссылки mailto (в настоящее время все уязвимости уже исправлены):
- Evolution, дефолтный почтовый клиент GNOME (CVE-2020-11879);
- KMail, дефолтный почтовый клиент KDE (CVE-2020-11880);
- IBM/HCL Notes для Windows (CVE-2020-4089);
- старые версии Thunderbird для Linux.