
Analyse technique détaillée de CVE-2024-5452, une vulnérabilité d'exécution de code à distance dans PyTorch Lightning via la pollution de propriété delta DeepDiff, avec preuve de concept et conseils d'atténuation.
RCE (Remote Code Execution, exécution de code à distance) est une vulnérabilité qui permet à un attaquant d'exécuter du code arbitraire à distance dans un système ou une application, et correspond à CWE-94: Improper Control of Generation of Code ('Code Injection').
PyTorch Lightning est une bibliothèque qui facilite la gestion de l'entraînement des modèles d'apprentissage profond basés sur PyTorch, et DeepDiff est une bibliothèque qui compare deux objets Python pour analyser leurs différences.
CVE-2024-5452 est une vulnérabilité dans les fonctionnalités d'application Web liées aux poids des modèles IA de Lightning, exploitant DeepDiff et Lightning, où une validation de l'en-tête faible et une contamination des attributs delta dans DeepDiff provoquent une RCE lors de la désérialisation.
Nous allons examiner le flux de code qui conduit à cette vulnérabilité, permettant à un attaquant d'injecter des objets arbitraires ou d'exécuter du code à distance (RCE), et explorer des mesures de réponse.
[Figure 1] POC - Attaque sur endpoint
[Figure 2] POC - Injection de vulnérabilité / Contenu complet de la configuration de contamination
[Figure 3] lightning/api/core/api.py / Partie de la logique de vérification d'en-tête faible
[Figure 4] lightning/api/core/app.py / Section de configuration
[Figure 5] lightning/api/core/app.py / Section de sauvegarde de configuration