CVE-2025-49113 - Уязвимость удаленного выполнения кода в Roundcube Webmail
Технический обзор
CVE-2025-49113 — это критическая уязвимость небезопасной десериализации в Roundcube Webmail, которая позволяет аутентифицированное удаленное выполнение кода. Уязвимость возникает из-за некорректной обработки сериализованных PHP-объектов во время операций загрузки файлов.
Анализ уязвимости
- Основная причина: Небезопасная десериализация данных, контролируемых пользователем, в функциональности загрузки файлов
- Вектор атаки: Специально сформированный запрос загрузки файла, содержащий вредоносный сериализованный PHP-объект
- Технические детали:
- Присутствует в
program/steps/mail/attach.inc
- Обрабатывает метаданные параметра
_file без надлежащей проверки
- Объединяет два метода инъекции:
- Инъекция PHP-сессии через параметр
_form
- Инъекция вредоносного объекта через параметр
filename
Затронутые версии
- Roundcube Webmail с 1.5.0 по 1.5.9
- Roundcube Webmail с 1.6.0 по 1.6.10
Предварительные условия для эксплуатации
- PHP 7.0 или выше
- Включенное расширение cURL
- Действительные учетные данные аутентифицированной сессии
- Доступ к функциональности загрузки файлов
Механизм эксплуатации
Технический процесс
- Проверка версии: Подтверждает уязвимую версию по шаблонам ответов
- Обход аутентификации: Использует предоставленные cookie сессии для аутентификации
- Доставка полезной нагрузки:
- Формирует multipart/form-data запрос с PNG-изображением
- Внедряет вредоносный сериализованный PHP-объект в параметр filename
- Внедряет манипуляцию сессией через параметр
_form
- Запуск десериализации:
- Уязвимая процедура десериализации во время обработки файла
- Выполнение цепочки гаджетов во время десериализации объекта
- Выполнение команд: Использует функцию
system() для выполнения команд оболочки
Поток выполнения кода
// Simplified exploitation flow
$target_url = $base_url . "?_task=mail&_action=upload&_form=injected_session_data";
$post_data = [
'_file' => '{"name":"malicious_object_gadget","path":"..."}',
'file' => curl_file_create('fake.png', 'image/png', 'exploit.png')
];
$response = curl_exec($target_url, $post_data);
// Vulnerable deserialization occurs in attach.inc processing
// Gadget chain triggers command execution: system($_POST['cmd']);
Инструкции по использованию
Синтаксис команды
php CVE-2025-49113-exploit_cookies.php <url> <cookies> <command>
Параметры
Пример выполнения
php CVE-2025-49113-exploit_cookies.php \
https://mail.example.com/roundcube/ \
"roundcube_sessid=abc123; roundcube_sessauth=xyz456" \
"cat /etc/passwd"
Обнаружение и смягчение последствий
Индикаторы компрометации
- Необычные запросы загрузки файлов с сериализованными данными
- Неожиданные процессы, запущенные пользователем веб-сервера
- Аномальные записи в журналах Roundcube или веб-сервера
Стратегии смягчения последствий
- Немедленные действия: Обновите Roundcube до версии 1.6.11 или более поздней
- Временное решение: Внедрите фильтры проверки входных данных для загрузки файлов
- Сетевые меры контроля:
- Ограничьте доступ к интерфейсам администрирования
- Внедрите WAF с обнаружением атак десериализации
- Мониторинг: Улучшите журналирование операций загрузки файлов
Ссылки
Правовые и этические соображения
Эта информация предоставлена исключительно в образовательных целях. Несанкционированное тестирование систем без явного разрешения незаконно. Всегда получайте надлежащее разрешение перед проведением оценки безопасности. Авторы и издатели не несут ответственности за любое неправомерное использование этой информации.