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

Risques

Exécution de code arbitraire (à distance)

Exploitation

La vulnérabilité exploitée est du type
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.2 et supérieures (disponible en OSS)
•   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)