Safeguard
Vulnerability Analysis•

CVE-2026-41855: High Unsafe Deserialization in Spring JMS Converters

CVE-2026-41855 affects Spring JMS Jackson converters in untrusted JMS setups. Upgrade to 7.0.8 or 6.2.19 and set trusted packages for deserialization.

Safeguard Security Team
3 min read

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

  1. Upgrade to 7.0.8 or 6.2.19, or the version for your line from the list above.
  2. For an untrusted JMS environment, also limit the packages authorized for deserialization using the new setTrustedPackages(String... trustedPackages) methods, as the advisory says.
  3. If you are on 6.1 or 5.3 without Enterprise Support, plan a move to a supported open source line.
  4. 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.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.