CVE-2020-35730

Roundcube Roundcube Webmail

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2023-06-22

Официальное описание

Roundcube Webmail contains a cross-site scripting (XSS) vulnerability that allows an attacker to send a plain text e-mail message with Javascript in a link reference element that is mishandled by linkref_addinindex in rcube_string_replacer.php.

🛡️
Технический анализ и план устранения

Суть уязвимости

CVE-2020-35730 представляет собой уязвимость типа Stored Cross-Site Scripting (XSS) в почтовом клиенте Roundcube Webmail версий до 1.2.13, 1.3.16 и 1.4.10. Проблема локализована в компоненте rcube_string_replacer.php, а именно в функции linkref_addindex.

Злоумышленник может отправить специально сформированное электронное письмо в формате Plain Text, содержащее вредоносный JavaScript-код внутри атрибутов ссылок. Из-за некорректной фильтрации и обработки ссылок в теле письма, скрипт исполняется в контексте браузера жертвы при просмотре сообщения. Это позволяет атакующему похитить сессионные куки (Session Hijacking), получить доступ к переписке или выполнить действия от имени пользователя.

Как исправить

Основным способом устранения уязвимости является обновление Roundcube Webmail до актуальных стабильных версий, в которых данная ошибка исправлена.

  1. Определите текущую версию Roundcube.
  2. Скачайте последнюю версию (LTS 1.3.x, 1.4.x или новее) с официального сайта или репозитория.
  3. Выполните обновление с помощью скрипта installto.sh, указав путь к текущей установке.
./bin/installto.sh /var/www/roundcube

Если вы используете пакетный менеджер в дистрибутивах Linux (например, Debian/Ubuntu), выполните обновление системы:

apt update && apt upgrade roundcube

Для ручного исправления (если обновление невозможно) необходимо внести изменения в файл program/lib/Roundcube/rcube_string_replacer.php, добавив строгую проверку и экранирование в функции обработки ссылок, согласно официальному патчу безопасности.

Временные меры

Если немедленное обновление системы невозможно, рекомендуется предпринять следующие шаги для снижения риска:

  1. Настройте Content Security Policy (CSP) на веб-сервере, чтобы запретить выполнение встроенных (inline) скриптов и ограничить источники загрузки ресурсов.
  2. Используйте Web Application Firewall (WAF) для фильтрации входящих почтовых данных на предмет наличия подозрительных конструкций в текстовых сообщениях.
  3. Проинструктируйте пользователей не открывать подозрительные сообщения от неизвестных отправителей, даже если они выглядят как обычный текст.
  4. Отключите отображение HTML-содержимого (если применимо) и ограничьте функционал предварительного просмотра ссылок в настройках сервера.