
Avis et preuve de concept pour CVE-2024-36057, une injection de commandes système authentifiée dans le logiciel de bibliothèque Koha, démontrant l'exécution arbitraire de commandes via des noms de fichiers ZIP spécialement conçus.
ID CVE : CVE-2024-36057
Produit : Logiciel de bibliothèque Koha
Type de vulnérabilité : Injection de commande OS (CWE-78)
Score CVSS : 9.8 (Critique)
Versions affectées : Antérieures à 23.05.10
Crédits : Karolis Narvilas
Koha est un système de gestion de bibliothèque intégré open-source. Une vulnérabilité d'injection de commande existe dans la fonctionnalité de téléchargement d'image de couverture à l'emplacement tools/upload-cover-image.pl. L'application utilise qx/unzip $filename -d $dirname/ pour extraire les archives ZIP téléchargées sans assainir le paramètre filename.
Un utilisateur authentifié disposant de privilèges élevés peut créer un fichier ZIP avec un nom de fichier malveillant contenant des caractères backtick pour injecter des commandes shell arbitraires, qui sont exécutées côté serveur lorsque l'utilisateur clique sur « Process Images ».
Impact : Un attaquant distant authentifié peut exploiter CVE-2024-36057 pour exécuter des commandes OS arbitraires sur le serveur sous-jacent, entraînant une compromission totale du système, une exfiltration de données et la mise en place de portes dérobées persistantes ou de reverse shells.
https://{domain}/cgi-bin/koha/tools/upload-cover-image.plRequête :
POST /cgi-bin/koha/tools/upload-file.pl?temp=1 HTTP/1.1
Host: {domain}
Cookie: [High-Privilege Session]
Connection: close
------WebKitFormBoundaryP82Da5V6eaQOuBUT
Content-Disposition: form-data; name="file"; filename="execute`<INJECTED_COMMAND>`.zip"
Content-Type: application/x-zip-compressed
<zip file contents>
------WebKitFormBoundaryP82Da5V6eaQOuBUT--
