CVE-2020-13965
Roundcube Webmail
2024-06-26
Roundcube Webmail contains a cross-site scripting (XSS) vulnerability that allows a remote attacker to manipulate data via a malicious XML attachment.
Технический анализ и план устранения
Суть уязвимости
CVE-2020-13965 представляет собой уязвимость типа Stored Cross-Site Scripting (XSS) в Roundcube Webmail версий до 1.3.12 и 1.4.x до 1.4.6. Проблема связана с недостаточной фильтрацией содержимого вредоносных XML-вложений.
Злоумышленник может отправить электронное письмо с прикрепленным специально сформированным XML-файлом. При просмотре или обработке этого вложения почтовым клиентом, вредоносный JavaScript-код исполняется в контексте сессии пользователя. Это позволяет атакующему похитить сессионные куки (Session IDs), получить доступ к переписке или выполнить административные действия от имени жертвы.
Как исправить
Основным способом устранения уязвимости является обновление Roundcube до версий 1.3.12, 1.4.6 или более новых.
- Проверьте текущую версию Roundcube:
grep "RCMAIL_VERSION" index.php
- Сделайте резервную копию базы данных и файлов:
mysqldump -u [user] -p [database_name] > roundcube_backup.sql
cp -R /var/www/roundcube /var/www/roundcube_backup
- Скачайте актуальный стабильный релиз с официального сайта или репозитория GitHub:
wget https://github.com/roundcube/roundcubemail/releases/download/1.4.11/roundcubemail-1.4.11-complete.tar.gz
- Распакуйте архив и запустите скрипт обновления:
tar -xzf roundcubemail-1.4.11-complete.tar.gz
cd roundcubemail-1.4.11
./bin/installto.sh /var/www/roundcube
- Если вы используете установку через пакетный менеджер (например, в Debian/Ubuntu), выполните обновление системы:
apt update && apt upgrade roundcube
Временные меры
Если немедленное обновление невозможно, примените следующие защитные механизмы:
-
Запретите просмотр XML-вложений непосредственно в браузере, принудительно установив заголовок
Content-Disposition: attachmentдля этого типа файлов на уровне веб-сервера (Nginx/Apache). -
Настройте строгую политику Content Security Policy (CSP), чтобы запретить выполнение встроенных скриптов и ограничить источники загрузки ресурсов:
add_header Content-Security-Policy "default-src 'self'; script-src 'self'; object-src 'none';" always;
-
Используйте плагины или внешние средства фильтрации почтового трафика (Antispam/Antivirus шлюзы) для блокировки или очистки подозрительных XML-вложений до того, как они попадут в почтовый ящик пользователя.
-
Проинструктируйте пользователей не открывать вложения от неизвестных отправителей, особенно файлы с расширениями .xml, .svg или .html.