Spring - CVE-2026-41855

Date de publication :

Il s'agit d'une vulnérabilité dans les convertisseurs de messages JMS MappingJackson2MessageConverter et JacksonJsonMessageConverter du module spring-jms.

Spring Framework est un framework Java open source qui constitue le socle de développement d'applications d'entreprise. Il fournit des abstractions pour la gestion des transactions, l'injection de dépendances, la programmation orientée aspect et l'intégration avec des systèmes de messagerie dont JMS (Java Message Service).

Dans un environnement JMS non fiable, ces convertisseurs procèdent à la désérialisation de données Jackson sans restreindre les classes autorisées à être instanciées. Un attaquant capable d'injecter un message JMS malveillant peut y placer une classe gadget dont la désérialisation déclenche une chaîne d'appels conduisant à l'exécution de code arbitraire. La condition d'exploitation est la présence d'une classe gadget exploitable dans le classpath de l'application cible.

Elle permet à un attaquant distant de déclencher des actions non autorisées sur le serveur, pouvant aller jusqu'à l'exécution de code arbitraire.

Informations

La faille est activement exploitée : Non

Un correctif existe : Oui

Une mesure de contournement existe : Oui

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 : Élevée
•   Privilèges nécessaires pour réaliser l'attaque : Aucun
•   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.

Systèmes ou composants affectés

•   Spring Framework versions 5.3.0 jusqu'à 5.3.48 (branches en fin de support commercial incluses)
•   Spring Framework versions 6.1.0 jusqu'à 6.1.27
•   Spring Framework versions 6.2.0 jusqu'à 6.2.18
•   Spring Framework versions 7.0.0 jusqu'à 7.0.7
•   Versions antérieures à 5.3.0 également affectées (fin de support)

Contournement provisoire

•   Pour un environnement JMS de confiance (cas d'usage le plus courant), aucune action n'est requise selon l'éditeur
•   Pour un environnement JMS non fiable, limiter les packages autorisés à la désérialisation via la nouvelle méthode setTrustedPackages(String... trustedPackages) disponible dans les versions corrigées

Solutions ou recommandations

•   Spring Framework 7.0.8 et supérieures (OSS)
•   Spring Framework 7.0.7.1 et supérieures (commercial)
•   Spring Framework 6.2.19 et supérieures (OSS)
•   Spring Framework 6.2.18.1 et supérieures (commercial)
•   Spring Framework 6.1.28 et supérieures (commercial uniquement)
•   Spring Framework 5.3.49 et supérieures (commercial uniquement)