Skip to main content

CVE-2026-78165: CWE-502 Deserialization of Untrusted Data in Apache Software Foundation Apache Camel

0
High
VulnerabilityCVE-2026-78165cvecve-2026-78165cwe-502
Published: 10/19/2026 (10/19/2026, 10:08:06 UTC)
Source: CVE Database V5
Vendor/Project: Apache Software Foundation
Product: Apache Camel

Description

Deserialization of Untrusted Data vulnerability in Apache Camel Spring Redis component. This issue affects Apache Camel: from 2.11.0 before 4.18.5, from 4.19.0 before 4.22.1. RedisConfiguration.getSerializer lazily built a bare JdkSerializationRedisSerializer whenever no serializer option was configured, and that instance was used for every read the component performs. Spring's implementation delegates through DeserializingConverter to DefaultDeserializer, which reads the bytes with a ConfigurableObjectInputStream and installs no java.io.ObjectInputFilter on the stream, so an arbitrary serialized class graph was materialised and its readObject method executed. RedisConsumer.setBody applied that serializer to the raw bytes of every message published to the subscribed channels, before the Exchange was constructed and therefore before any route logic could inspect the message, so an actor able to issue PUBLISH on a subscribed channel reached the deserialization sink directly. The same default serializer backed the RedisTemplate built by RedisConfiguration.createDefaultTemplate, so the producer read commands GET, HGET, HGETALL and HVALS deserialized whatever was stored in the Redis keyspace, and SpringRedisIdempotentRepository shared that template. Configuring a custom redisTemplate did not close the consumer path, because RedisConsumer.setBody reads getSerializer directly rather than the serializer attached to the template, so a deployment that had wired a String serializer into its own template remained exposed on the consumer side unless it also set the serializer option. The component never constructed a java.io.ObjectInputStream itself, which is why earlier passes over the Camel codebase for unfiltered Java deserialization did not reach it. The behaviour dates back to the introduction of the component, first released in 2.11.0, and was unchanged until this fix. Users are recommended to upgrade to version 4.23.0, which fixes the issue. If users are on the 4.22.x releases stream, then they are suggested to upgrade to 4.22.1. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.5. The 4.14.x releases stream and earlier reached end of life before this issue was resolved and will not receive a fix, so deployments on those lines must move to a supported release. For deployments that cannot upgrade immediately, set the JVM-wide jdk.serialFilter system property, which the affected code path honours because it reads through a java.io.ObjectInputStream, for example -Djdk.serialFilter=!java.net.**;java.**;javax.**;org.apache.camel.**;!* ; or set the serializer endpoint option to a serializer that does not use Java serialization, such as StringRedisSerializer, noting that this must be set as the serializer option and not only on a custom redisTemplate. As defence in depth, require authentication on the Redis instance and restrict which clients may publish to the subscribed channels, and do not expose a Redis instance consumed by Camel to untrusted networks.

CVSS v3.1

Score 8.8high

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Affected software

Apache Software Foundation

Apache Camel

Affected versions
>=2.11.0 <4.18.5>=4.19.0 <4.22.1
Apache Software Foundation/org.apache.camel:camel-spring-redis
pkg:maven/Apache Software Foundation/org.apache.camel:camel-spring-redis
Affected versions
>=2.11.0 <4.18.5>=4.19.0 <4.22.1

Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.

AI-Powered Analysis

Machine-generated threat intelligence

AILast updated: 10/19/2026, 10:48:31 UTC

Technical Analysis

The vulnerability in Apache Camel Spring Redis component involves unsafe deserialization of untrusted data due to the use of JdkSerializationRedisSerializer without an installed java.io.ObjectInputFilter. This allows an attacker able to publish messages on subscribed Redis channels to cause arbitrary Java object deserialization and execution of readObject methods before any route logic inspection. The default serializer is also used by RedisTemplate and SpringRedisIdempotentRepository, increasing exposure. Custom redisTemplate configurations do not fully mitigate the consumer-side risk unless the serializer endpoint option is explicitly set. The flaw has existed since version 2.11.0 and was fixed in versions 4.18.5, 4.22.1, and 4.23.0. Mitigations include upgrading to fixed versions, setting the JVM serial filter, using non-Java serializers, and securing Redis access.

Potential Impact

Successful exploitation allows an attacker with the ability to publish messages on subscribed Redis channels to trigger deserialization of arbitrary Java objects, potentially leading to remote code execution, data compromise, and denial of service. The vulnerability affects confidentiality, integrity, and availability of affected systems. The CVSS score is 8.8 (high severity) with network attack vector, low attack complexity, and no user interaction required.

Mitigation Recommendations

A fix is available in Apache Camel versions 4.18.5, 4.22.1, and 4.23.0; users should upgrade to these versions. For those unable to upgrade immediately, set the JVM-wide jdk.serialFilter system property to restrict deserialization classes (e.g., -Djdk.serialFilter=!java.net.**;java.**;javax.**;org.apache.camel.**;!*). Alternatively, configure the serializer endpoint option to use a non-Java serializer such as StringRedisSerializer. Note that setting a custom redisTemplate alone does not mitigate the consumer path unless the serializer option is set. Additionally, enforce authentication on the Redis instance and restrict which clients can publish to subscribed channels. Do not expose Redis instances consumed by Camel to untrusted networks.

Pro Console: star threats, build custom feeds, automate alerts via Slack, email & webhooks.Upgrade to Pro

Technical Details

Data Version
5.2
Assigner Short Name
apache
Date Reserved
2026-08-23T12:53:32.309Z
Cvss Version
3.1
State
PUBLISHED

Threat ID: 6ad5f2162cdf04f656419db5

Added to database: 10/19/2026, 10:33:58 UTC

Last enriched: 10/19/2026, 10:48:31 UTC

Last updated: 10/19/2026, 19:06:46 UTC

Views: 10

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need more coverage?

Upgrade to Pro Console for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats

Breach by OffSeqOFFSEQFRIENDS — 25% OFF

Check if your credentials are on the dark web

Instant breach scanning across billions of leaked records. Free tier available.

Scan now
OffSeq TrainingCredly Certified

Lead Pen Test Professional

Technical5-day eLearningPECB Accredited
View courses