CVE-2021-44026

Roundcube Roundcube Webmail

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

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

2023-06-22

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

Roundcube Webmail is vulnerable to SQL injection via search or search_params.

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

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

CVE-2021-44026 представляет собой критическую уязвимость типа SQL-инъекция в Roundcube Webmail версий до 1.3.17 и 1.4.x до 1.4.12. Проблема возникает из-за недостаточной фильтрации входных данных в параметрах search или search_params.

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

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

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

  1. Определите текущую версию Roundcube.
  2. Сделайте резервную копию базы данных и файлов приложения.
  3. Обновите Roundcube до версии 1.3.17, 1.4.12 или более поздних (например, ветки 1.5.x и 1.6.x не подвержены этой уязвимости).

Если вы используете установку из исходных кодов, выполните обновление через скрипт installto.sh:

wget https://github.com/roundcube/roundcubemail/releases/download/1.4.12/roundcubemail-1.4.12-complete.tar.gz

tar -xf roundcubemail-1.4.12-complete.tar.gz

cd roundcubemail-1.4.12

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

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

apt update && apt upgrade roundcubemail

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

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

  1. Ограничение доступа: Разрешите доступ к интерфейсу Roundcube только через доверенные IP-адреса или VPN.
  2. Использование WAF (Web Application Firewall): Настройте правила фильтрации для блокировки подозрительных SQL-конструкций (таких как UNION SELECT, SLEEP(), кавычки в параметрах поиска) в GET/POST запросах.
  3. Применение патча вручную: Если обновление всей системы невозможно, внесите изменения в код обработки поиска, добавив принудительное экранирование параметров в файлах program/lib/Roundcube/rcube_imap_generic.php и program/steps/mail/search.inc (согласно официальному коммиту безопасности в репозитории Roundcube).
  4. Мониторинг логов: Настройте алерты на специфические ошибки SQL в логах веб-сервера и базы данных.