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-контента.
- Определите текущую версию Roundcube.
- Обновите систему до версии 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/*
Временные меры
Если немедленное обновление невозможно, примените следующие настройки для снижения риска:
- Отключите отображение HTML-писем, принудительно переключив пользователей на текстовый режим (снижает удобство, но блокирует вектор атаки). В
config.inc.php:
$config['render_all_mime_types'] = false;
$config['preferred_html_content'] = false;
- Запретите отображение удаленного контента и вложений типа SVG на уровне веб-сервера (Nginx/Apache), добавив заголовок Content-Security-Policy (CSP), ограничивающий выполнение скриптов:
add_header Content-Security-Policy "default-src 'self'; script-src 'self'; object-src 'none';";
- Настройте фильтрацию входящих писем на уровне почтового шлюза (Antispam/WAF), чтобы блокировать или вырезать теги
<svg>и<animate>из тела писем.