В 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 в актуальной ветке. Проверить, какая ветка развёрнута, поскольку исправления вышли для обеих. Официальных обходных мер вендор не приводит. До установки исправлений ограничить доступ к веб-интерфейсу на уровне сети и отключить неиспользуемые функции.
Веб-почта постоянно разбирает содержимое, пришедшее извне. Поэтому ошибки в разборе вложений, стилей и заголовков накапливаются в одном продукте. Обновление закрывает двадцать таких ошибок сразу, а до его установки клиент уязвим для каждой.
Ссылки
- https://roundcube.net/news/2026/10/19/security-updates-1.6.20-and-1.7.5
- https://github.com/roundcube/roundcubemail/releases/tag/1.6.20
- https://github.com/roundcube/roundcubemail/releases/tag/1.7.5