Roundcube Webmail позволяет внедрять команды IMAP и обходить защиту от SSRF

roundcube

В Roundcube Webmail, веб-клиенте электронной почты с открытым кодом, обнаружен набор уязвимостей. Часть из них открывает путь к выполнению произвольного кода на сервере, подделке серверных запросов и внедрению команд в переписку с почтовым сервером. Затронуты ветки 1.6 и 1.7, поэтому проблема касается большинства действующих установок. Для атаки достаточно письма со специально собранным содержимым или запроса к веб-интерфейсу клиента.

Двадцать исправлений в Roundcube 1.6 и 1.7

Исправления опубликованы 19 октября 2026 года в версиях 1.6.20 и 1.7.5. Ветка 1.7 уязвима во всех сборках до 1.7.5, ветка 1.6 - во всех сборках до 1.6.20. Сведений об эксплуатации в реальных атаках разработчики не приводят: в бюллетене они перечисляют только авторов сообщений об ошибках. Идентификаторы CVE в этом документе отсутствуют, количественную оценку по CVSS вендор тоже не публикует. Список рисков при этом включает удалённое выполнение кода, подделку запросов на стороне сервера (SSRF), межсайтовый скриптинг (XSS) и подделку межсайтовых запросов (CSRF).

Внедрение команд в обмен с почтовым сервером

Roundcube общается с почтовым сервером по протоколу IMAP, то есть отправляет команды и читает ответы. Проверка параметров в двух действиях с письмами недостаточна. Символы перевода строки в запросе попадают в этот обмен, поэтому атакующий дописывает к клиентским командам собственные. Похожая ошибка нашлась в действии, которое меняет пометки на письмах. Там внедрение снова идёт через символы перевода строки в параметре запроса.

Обход фильтра SSRF через NAT64

SSRF заставляет сервер обратиться по адресу, который выбрал атакующий. В Roundcube есть фильтр, отсекающий обращения к внутренним адресам. Обойти его, однако, удаётся через NAT64 - механизм трансляции адресов IPv6 в IPv4. Внешне обычный адрес превращается во внутренний ресурс сети. Через такой адрес злоумышленник обращается к службам, закрытым от интернета.

Внедрение заголовков писем и подмена отправителя

Отдельный пласт ошибок связан со сборкой заголовков. Специальные символы в отображаемом имени отправителя при пересылке письма добавляют лишние заголовки. Такой же результат дают служебные поля, которые связывают письма в цепочку переписки. Внедрение проходит и через тему пересылаемого вложения, и через тип содержимого встроенной картинки. Получатель видит поддельные поля, а фильтры на его стороне такие сообщения пропускают.

XSS, CSRF и обход блокировки внешнего контента

Клиент по умолчанию блокирует загрузку картинок и стилей с чужих серверов, чтобы не выдавать активность пользователя. Обойти блокировку удаётся через SVG SMIL (анимацию в векторной графике), через экранирование в CSS и через служебные директивы в стилях сообщения. Ещё одна ошибка открывает XSS в ответах драйвера паролей. Такой драйвер связывает веб-клиент с хранилищем учётных данных. Проверку CSRF в действии "пометить как спам" тоже можно обойти, значит чужой сайт отправит запрос от имени пользователя. Ряд устаревших псевдонимов действий обходит настройку отключённых функций.

Обработка изображений, сессий и учётных записей

При изменении размера картинки вложение попадает в ImageMagick, инструмент обработки изображений. Клиент при этом не проверяет содержимое, что добавляет риска при разборе файлов. Клиент обходит лимиты ресурсов ImageMagick, когда переключается на запасной обработчик GD. В сохранённых данных сессии возможна инъекция объектов. Ещё две ошибки касаются импорта из SquirrelMail и драйвера Modoboa: в первом случае имя входа попадает в путь файла, во втором можно сменить пароль чужой учётной записи.

Обновление до версий 1.6.20 и 1.7.5

Обновить Roundcube до 1.6.20 в ветке LTS или до 1.7.5 в актуальной ветке. Проверить, какая ветка развёрнута, поскольку исправления вышли для обеих. Официальных обходных мер вендор не приводит. До установки исправлений ограничить доступ к веб-интерфейсу на уровне сети и отключить неиспользуемые функции.

Веб-почта постоянно разбирает содержимое, пришедшее извне. Поэтому ошибки в разборе вложений, стилей и заголовков накапливаются в одном продукте. Обновление закрывает двадцать таких ошибок сразу, а до его установки клиент уязвим для каждой.

Ссылки

Комментарии: 0