CVE-2024-37383

Roundcube Webmail

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

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

2024-10-24

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

RoundCube Webmail contains a cross-site scripting (XSS) vulnerability in the handling of SVG animate attributes that allows a remote attacker to run malicious JavaScript code.

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

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

CVE-2024-37383 представляет собой уязвимость типа Stored XSS (хранимый межсайтовый скриптинг) в Roundcube Webmail до версий 1.5.6 и 1.6.6 включительно. Проблема заключается в недостаточной фильтрации атрибутов тега <animate> внутри SVG-изображений.

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

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

Основным способом устранения уязвимости является обновление Roundcube до актуальных стабильных версий, в которых была исправлена логика очистки (sanitization) SVG-контента.

  1. Определите текущую версию Roundcube.
  2. Обновите систему до версии 1.6.7 или 1.5.7 (в зависимости от используемой ветки).

Для обновления через скрипт installto.sh (из корневой директории новой версии):

./bin/installto.sh /var/www/roundcube

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

apt update && apt install --only-upgrade roundcube

После обновления убедитесь, что кэш временных файлов очищен:

rm -rf /var/www/roundcube/temp/*

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

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

  1. Отключите отображение HTML-писем, принудительно переключив пользователей на текстовый режим (снижает удобство, но блокирует вектор атаки). В config.inc.php:
$config['render_all_mime_types'] = false;
$config['preferred_html_content'] = false;

  1. Запретите отображение удаленного контента и вложений типа SVG на уровне веб-сервера (Nginx/Apache), добавив заголовок Content-Security-Policy (CSP), ограничивающий выполнение скриптов:
add_header Content-Security-Policy "default-src 'self'; script-src 'self'; object-src 'none';";

  1. Настройте фильтрацию входящих писем на уровне почтового шлюза (Antispam/WAF), чтобы блокировать или вырезать теги <svg> и <animate> из тела писем.