CVE-2023-5631

Roundcube Webmail

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

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

2023-10-26

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

Roundcube Webmail contains a persistent cross-site scripting (XSS) vulnerability that allows a remote attacker to run malicious JavaScript code.

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

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

CVE-2023-5631 представляет собой критическую уязвимость типа Stored XSS (хранимый межсайтовый скриптинг) в Roundcube Webmail версий до 1.4.15, 1.5.x до 1.5.5 и 1.6.x до 1.6.4.

Проблема заключается в недостаточной очистке (sanitization) входящих данных при обработке HTML-сообщений, содержащих SVG-изображения. Злоумышленник может отправить специально сформированное письмо с вредоносным JavaScript-кодом, встроенным в атрибуты SVG. При просмотре такого письма пользователем код выполняется в контексте его сессии, что позволяет атакующему похитить токены доступа, прочитать переписку или выполнить действия от имени жертвы.

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

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

  1. Определите текущую версию Roundcube.
grep "RCMAIL_VERSION" /var/www/roundcube/program/include/iniset.php

  1. Создайте резервную копию базы данных и файлов.
mysqldump roundcubemail > roundcube_backup.sql
cp -R /var/www/roundcube /var/www/roundcube_backup

  1. Скачайте последнюю стабильную версию (например, 1.6.4+ или 1.5.5+) с официального сайта или репозитория GitHub.
wget https://github.com/roundcube/roundcubemail/releases/download/1.6.4/roundcubemail-1.6.4-complete.tar.gz

  1. Распакуйте архив и запустите скрипт обновления.
tar -xzf roundcubemail-1.6.4-complete.tar.gz
cd roundcubemail-1.6.4
./bin/installto.sh /var/www/roundcube

  1. Подтвердите обновление и следуйте инструкциям установщика.

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

Если немедленное обновление невозможно, примените следующие защитные механизмы:

  1. Отключите отображение HTML-сообщений, принудительно переведя всех пользователей в режим Plain Text (это радикально снизит удобство использования, но устранит вектор атаки). В конфигурационном файле config.inc.php установите:
$config['prefer_html'] = false;

  1. Настройте Content Security Policy (CSP). Добавьте строгие заголовки на уровне веб-сервера (Nginx/Apache), чтобы запретить выполнение встроенных скриптов (inline scripts) и ограничить источники загрузки контента.

  2. Используйте WAF (Web Application Firewall). Настройте правила фильтрации для блокировки подозрительных конструкций в теле писем, содержащих теги <svg> и атрибуты onload, onerror или xlink:href.