From 9bec52b1ec741976658e916850b31f41afd2da2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Deleuze?= Date: Fri, 1 May 2026 18:56:16 +0200 Subject: [PATCH] Add trusted packages to MappingJackson2MessageConverter This commit introduces trusted packages, specified via the related setter for untrusted use cases. It allows explicit configuration of which Java packages are allowed to be deserialized. Closes gh-36791 --- .../MappingJackson2MessageConverter.java | 37 +++++++++ .../MappingJackson2MessageConverterTests.java | 82 +++++++++++++++++++ 2 files changed, 119 insertions(+) diff --git a/spring-jms/src/main/java/org/springframework/jms/support/converter/MappingJackson2MessageConverter.java b/spring-jms/src/main/java/org/springframework/jms/support/converter/MappingJackson2MessageConverter.java index c74ef2a81ab..e842f023496 100644 --- a/spring-jms/src/main/java/org/springframework/jms/support/converter/MappingJackson2MessageConverter.java +++ b/spring-jms/src/main/java/org/springframework/jms/support/converter/MappingJackson2MessageConverter.java @@ -21,6 +21,7 @@ import java.io.IOException; import java.io.OutputStreamWriter; import java.io.StringWriter; import java.io.UnsupportedEncodingException; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; @@ -49,6 +50,8 @@ import org.springframework.util.ClassUtils; * {@link #setTargetType targetType} is set to {@link MessageType#TEXT}. * Converts from a {@link TextMessage} or {@link BytesMessage} to an object. * + *

For untrusted environments, use {@link #setTrustedPackages(String...)}. + * *

It customizes Jackson's default properties with the following ones: *