Apache - CVE-2025-54920
Date de publication :
Il s'agit d'une vulnérabilité dans Apache Spark History Server.
Apache Spark est un moteur de traitement de données distribué utilisé pour le Big Data, le machine learning et l’analytique à grande échelle.
Le composant utilise une désérialisation polymorphique Jackson avec @JsonTypeInfo.Id.CLASS sur des objets d’événements. Ce mécanisme accepte des noms de classes arbitraires fournis dans les fichiers JSON de logs. Les fichiers d’événements sont chargés depuis un répertoire de logs contrôlable par un attaquant. Lors du chargement, le serveur instancie les classes spécifiées sans validation stricte. Cela permet de déclencher des instanciations de classes inattendues capables d’effectuer des actions réseau ou système. L’exploitation repose sur l’injection de contenu JSON malveillant dans les logs Spark. Le serveur désérialise ce contenu au démarrage ou lors du chargement.
Elle permet une exécution de code sur le serveur hébergeant le Spark History Server.
Informations
La faille est activement exploitée : Non
Un correctif existe : Oui
Une mesure de contournement existe : Non
Exécution de code arbitraire (à distance)
Exploitation
CWE-502 : Deserialization of Untrusted Data
Détails sur l'exploitation
• Vecteur d'attaque : Local
• Complexité de l'attaque : Faible
• Privilèges nécessaires pour réaliser l'attaque : Authentification utilisateur simple
• Interaction d'un utilisateur ayant accès au produit est-elle nécessaire : Non
• L'exploitation de la faille permet d'obtenir des droits privilégiés : Oui
Preuve de concept
Une preuve de concept est disponible en sources ouvertes.
Systèmes ou composants affectés
• Apache Spark versions antérieures à 3.5.7
• Apache Spark versions 4.0.0 jusqu’à 4.0.0 inclus
Solutions ou recommandations
• Apache Spark versions 4.0.1 et supérieures