
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.
Identifiant CVE : CVE-2024-36057
Produit : Koha Library Software
Type de vulnérabilité : Injection de commandes système (CWE-78)
Score CVSS : 8,7 (Élevé) Authentifié
Versions concernées : Antérieures à 22.05.22
Crédits : Karolis Narvilas
Koha est un système intégré de gestion de bibliothèque open source. Une vulnérabilité d'injection de commandes existe dans la fonctionnalité de téléversement d'images de couverture à l'adresse tools/upload-cover-image.pl. L'application utilise qx/unzip $filename -d $dirname/ pour extraire les archives ZIP téléversées sans assainir le paramètre du nom de fichier.
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 afin d'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 système arbitraires sur le serveur sous-jacent, conduisant à une compromission totale du système, à l'exfiltration de données et à l'établissement de portes dérobées persistantes ou de shells inversés.
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--
