
Python-чекер для CVE-2026-48842 — SQL-инъекции до аутентификации в плагине virtuser_query Roundcube Webmail. Определяет версию, путь к плагину и проверяет SQLi через пробу входа.
Чекер на Python 3 для CVE-2026-48842 в Roundcube Webmail (опциональный плагин virtuser_query).
Этот PoC размещён на PoCbit — CVE-2026-48842 на pocbit.org.
При запуске PoC выводится заголовок PoCbit; строки JSONL содержат pocbit / pocbit_page.
| Продукт | Roundcube Webmail |
| Компонент | Встроенный плагин virtuser_query (поиск пользователя/email/хоста в БД) |
| Затронуты | 1.6.x < 1.6.16, 1.7.x < 1.7.1 (более старые ветки 1.4/1.5 также могут быть затронуты при включённом плагине — патч зависит от дистрибутива) |
| Исправлено | 1.6.16, 1.7.1 |
| CVSS 3.1 | 8.1 High (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H) |
| CWE | CWE-89 |
| Аутентификация | Не требуется (путь входа / поиска) |
Когда настроен virtuser_query ($config['virtuser_query'] в config.inc.php), имена пользователей или email подставляются в SQL-шаблоны через preg_replace('/%u/', $dbh->escape(...), ...). PHP интерпретирует обратные слэши в строке замены, отменяя экранирование SQL — SQL-инъекция до аутентификации (исправление: использовать str_replace).
Рекомендации: Обновления безопасности Roundcube 2026-05-24
pip install -r requirements.txt
# Detect Roundcube + version + virtuser plugin file
python poc.py -u https://webmail.example.com --json
# Active SQLi probe (SLEEP / error heuristics on login POST)
python poc.py -u https://webmail.example.com --verify
python poc.py --list targets.example.txt --threads 20 --quiet
python poc.py --list targets.example.txt --verify --sqli-delay 5
virtuser_query на сервере (не включён по умолчанию во всех установках). PoC отмечает путь к PHP-файлу плагина, если он доступен.--verify отправляет специально сформированные значения _user на ?_task=login (для попытки инъекции валидный пароль не нужен).virtuser_query из $config['plugins'].body="rcmail" && body="roundcube"
title="Roundcube Webmail"
Только авторизованное тестирование.