CVE-2024-12029 est une vulnérabilité de désérialisation critique dans l’API d’installation de modèles d’InvokeAI qui permet une exécution de code à distance sans authentification. La faille provient de l’utilisation non sécurisée de la fonction torch.load() de PyTorch lors du traitement des fichiers de modèles fournis par l’utilisateur. Les attaquants peuvent concevoir des fichiers de modèles malveillants contenant du code Python intégré qui s’exécute lorsque le modèle est chargé côté serveur. La vulnérabilité affecte les versions 5.3.1 à 5.4.2 d’InvokeAI et a reçu un score CVSS de 9.8. Les organisations doivent immédiatement mettre à jour vers la version 5.4.3 ou ultérieure et mettre en œuvre une validation d’entrée appropriée ainsi que des contrôles de segmentation réseau.
La vulnérabilité réside dans la fonction read_checkpoint_meta du fichier invokeai/backend/model_manager/util/model_util.py, qui utilise torch.load() pour désérialiser les fichiers de modèles sans validation adéquate. La fonction torch.load() de PyTorch peut exécuter du code Python arbitraire intégré dans des fichiers sérialisés. L’exploitation implique la création d’un fichier .ckpt malveillant avec une charge utile Python intégrée à l’aide de pickle, son hébergement sur un serveur web, et le déclenchement de l’endpoint /api/v2/models/install avec l’URL du modèle malveillant. La correction implique l’activation par défaut de l’analyse des fichiers et la mise en œuvre d’une validation appropriée avant la désérialisation.
Référence : Offensive Security Blog
Cet article est une publication de recherche qui vise à informer sur une vulnérabilité critique récemment découverte et à fournir des recommandations pour atténuer les risques associés.
🔗 Source originale : https://www.offsec.com/blog/cve-2024-12029/
🖴 Archive : https://web.archive.org/web/20250718081328/https://www.offsec.com/blog/cve-2024-12029/