CVE-2026-41855 is a high severity unsafe deserialization flaw (CVSS 8.1) in Spring Framework. In an untrusted JMS environment, two Jackson message converters can instantiate arbitrary classes. Upgrade to 7.0.8 or 6.2.19 and limit the trusted packages.
What's affected
Per the Spring security advisory, the affected classes are MappingJackson2MessageConverter and JacksonJsonMessageConverter in org.springframework.jms.support.converter. Affected versions: Spring Framework 7.0.0 to 7.0.7, 6.2.0 to 6.2.18, 6.1.0 to 6.1.27, and 5.3.48 and earlier.
Fixed versions:
- 7.0.8 and 6.2.19 (open source)
- 7.0.7.1 and 6.2.18.1 (Enterprise Support only)
- 6.1.28 and 5.3.49 (Enterprise Support only)
The advisory says that for a trusted JMS environment, which is the most common case, no mitigation steps are necessary.
How to check if you're exposed
mvn dependency:tree | grep spring-jms
gradle dependencies | grep spring-jms
Read the resolved Spring Framework version. Then search your code for the two converter classes. If you do not use JMS with these converters, this CVE does not reach you. If you do, ask who can publish to your queues: a broker that only trusted services write to is a trusted environment, while one that accepts messages from partners or the internet is not. A dependency scan can list the Spring version per repository.
What to do now
- Upgrade to 7.0.8 or 6.2.19, or the version for your line from the list above.
- For an untrusted JMS environment, also limit the packages authorized for deserialization using the new
setTrustedPackages(String... trustedPackages)methods, as the advisory says. - If you are on 6.1 or 5.3 without Enterprise Support, plan a move to a supported open source line.
- Restrict who can publish to queues that your application consumes.
Why it matters
The record lists CWE-502, deserialization of untrusted data. The converters read a type from the message and instantiate it. With no limit on allowed types, a message from an attacker can ask for a class the developer never meant to use, which can lead to unauthorized actions via gadget classes already on the classpath.
The fix adds an allowlist of packages. The pattern is worth copying elsewhere: when a message names its own type, the receiver must decide which types are acceptable. The advisory credits a researcher with a responsible report. The record does not flag this CVE as known exploited.
Try it yourself
Click through it at your own pace, or open it full screen.
Quick check
Is a private internal broker a trusted environment?
Often yes, if only your own services can publish. If other teams, partners or less trusted apps can publish, treat it as untrusted and set trusted packages.
Sources
Last reviewed: 19 October 2026.