
CyberPanel RCE authentifiée < 2.3.8
CyberPanel - Injection de commandes OS authentifiée
Les versions de CyberPanel antérieures à 2.3.8 sont vulnérables à une injection de commandes OS. Pour exploiter la vulnérabilité, l'attaquant doit d'abord se connecter au panneau web.
CyberPanel 2.3.7
Un attaquant peut utiliser une requête HTTP OPTIONS pour ordonner au serveur web exécutant l'application CyberPanel d'exécuter des commandes arbitraires. Cette vulnérabilité se trouve dans le point de terminaison /websites/submitWebsiteCreation.
Ce point de terminaison appelle la fonction submitWebsiteCreation dans le fichier /websiteFunctions/views.py.
Cette fonction appelle ensuite la fonction wm.submitWebsiteCreation située dans le fichier /websiteFunctions/website.py. Cette fonction extrait cinq paramètres utilisés dans la fonction :
- domain;
- adminEmail;
- phpSelection;
- packageName;
- websiteOwner;
Ces paramètres sont ensuite transmis directement à une fonction qui les exécute :
Le code de preuve de concept (PoC) se trouve dans le fichier cyberpanel.py lié dans ce dépôt.
Cette preuve de concept peut être utilisée pour écrire des fichiers avec des privilèges root, n'importe où sur le système :
Cela pourrait entraîner un compromis total de l'appareil. Si le dossier d'installation de CyberPanel est accessible, les données peuvent être extraites plus facilement via le panneau web.
Le rapport d'analyse qui décrit le processus de découverte de l'exploit sera disponible à l'adresse : https://thottysploity.github.io/posts/cve-2024-53376
30.10.2024 - Vulnérabilité identifiée
31.10.2024 - Contacté Usman Nasir, propriétaire de CyberPanel
02.11.2024 - Usman a corrigé le problème et publié un correctif
03.11.2024 - Demandé un ID CVE auprès de MITRE
23.11.2024 - MITRE a réservé l'ID CVE 2024-53376
15.12.2024 - CVE-2024-53376 publiée publiquement