Spring - CVE-2026-41862
Date de publication :
Il s'agit d'une vulnérabilité dans les backends de persistance basés sur Kryo de Spring Statemachine (JPA, MongoDB, Redis, ZooKeeper).
Spring Statemachine est un framework Java de la suite Spring, destiné à la conception et à l'exécution de machines à états finis, avec prise en charge de la persistance du contexte applicatif vers des backends externes tels que JPA, MongoDB, Redis ou ZooKeeper.
Ces backends désérialisent les contextes persistés sans activer l'option setRegistrationRequired(true) de Kryo, ce qui supprime toute liste d'autorisation de classes à la lecture. Un attaquant disposant d'un accès en écriture au backend peut injecter des octets sérialisés craftés exploitant des classes du classpath applicatif via une gadget chain.
Elle permet d'exécuter du code arbitraire à distance au sein de la JVM hôte avec un impact complet sur la confidentialité, l'intégrité et la disponibilité.
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 : Réseau
• 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
Actuellement, aucune preuve de concept n'est disponible en sources ouvertes.
Contournement provisoire
• Spring Statemachine versions 3.2.0 jusqu'à 3.2.4 (branche en fin de support communautaire)
• Spring Statemachine versions 4.0.0 jusqu'à 4.0.1
Solutions ou recommandations
• Spring Statemachine version 4.0.1.1 et supérieures (Enterprise Support uniquement, branche 4.0.x)
• Spring Statemachine version 3.2.5 et supérieures (Enterprise Support uniquement, branche 3.2.x)