Loading...
Skip to main content

CVE-2026-40859 — Vulnerability in...

HIGH

Apache Camel-Vertx-Http and Camel-Netty-Http: Unsafe Java deserialization of HTTP response bodies via a raw ObjectInputStream when transferException is enabled

Published July 6, 2026Updated September 10, 2026Source: osv

Summary

Deserialization of Untrusted Data vulnerability in Apache Camel. The camel-vertx-http component deserializes HTTP response bodies carrying the Content-Type application/x-java-serialized-object using a raw java.io.ObjectInputStream, without applying any ObjectInputFilter (VertxHttpHelper.deserializeJavaObjectFromStream) This deserialization path is reached only when the producer endpoint is configured with transferException=true (or the component-level allowJavaSerializedObject=true) and throwExceptionOnFailure is left at its default value of true; in that case a backend HTTP response with a 5xx status and the application/x-java-serialized-object content type has its body deserialized with no class restrictions. An attacker who controls the backend the Camel producer talks to - through a man-in-the-middle position on an unencrypted (plain HTTP) connection, or by compromising the backend service - can return a crafted serialized Java object and, if a suitable gadget chain is present on the classpath, achieve remote code execution on the Camel application host. The path is not reachable in the default configuration, where transferException is false. This issue affects Apache Camel: from 4.0.0 before 4.14.8, from 4.15.0 before 4.18.3, from 4.19.0 before 4.20.0. Users are recommended to upgrade to version 4.20.0, which fixes the issue. If users are on the 4.14.x LTS releases stream, then they are suggested to upgrade to 4.14.8. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.3. After upgrading, the deserialization performed by both helper utilities is constrained by a default ObjectInputFilter (allow-list java.**;javax.**;org.apache.camel.**;!*), which can be customised through the new deserializationFilter endpoint option or the JVM-wide -Djdk.serialFilter system property. For deployments that cannot upgrade immediately: do not enable transferException=true (or allowJavaSerializedObject=true) on producers that talk to untrusted or network-reachable backends; ensure producer connections use TLS (https) so that a response cannot be substituted by a man-in-the-middle; and, where the option is required, set an explicit -Djdk.serialFilter allow-list (for example java.**;org.apache.camel.**;!*) to constrain deserialization.

Advisory Timeline

  • First published July 6, 2026 (98 days ago).
  • Last revised September 10, 2026 — 66 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

Maven
Update org.apache.camel:camel-netty-http to 4.14.8 or later
<!-- Update pom.xml dependency version to 4.14.8 for org.apache.camel:camel-netty-http -->
Maven
Update org.apache.camel:camel-vertx-http to 4.14.8 or later
<!-- Update pom.xml dependency version to 4.14.8 for org.apache.camel:camel-vertx-http -->
Maven
Update org.apache.camel:camel-vertx-http to 4.20.0 or later
<!-- Update pom.xml dependency version to 4.20.0 for org.apache.camel:camel-vertx-http -->
Maven
Update org.apache.camel:camel-netty-http to 4.18.3 or later
<!-- Update pom.xml dependency version to 4.18.3 for org.apache.camel:camel-netty-http -->
Maven
Update org.apache.camel:camel-vertx-http to 4.18.3 or later
<!-- Update pom.xml dependency version to 4.18.3 for org.apache.camel:camel-vertx-http -->
Maven
Update org.apache.camel:camel-netty-http to 4.20.0 or later
<!-- Update pom.xml dependency version to 4.20.0 for org.apache.camel:camel-netty-http -->

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (6)

Affects 1 ecosystem: maven (2).

PackageEcosystemAffectedFixed In
org.apache.camel:camel-netty-http
maven
4.0.0, 4.0.1, 4.0.2, 4.0.3 (+47 more)4.14.8
org.apache.camel:camel-vertx-http
maven
4.0.0, 4.0.1, 4.0.2, 4.0.3 (+47 more)4.14.8
org.apache.camel:camel-vertx-http
maven
4.19.04.20.0
org.apache.camel:camel-netty-http
maven
4.15.0, 4.16.0, 4.17.0, 4.18.0 (+2 more)4.18.3
org.apache.camel:camel-vertx-http
maven
4.15.0, 4.16.0, 4.17.0, 4.18.0 (+2 more)4.18.3
org.apache.camel:camel-netty-http
maven
4.19.04.20.0

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

  • CWE-502
    Deserialization of Untrusted DataMITRE

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 8.1 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

Frequently Asked Questions

What is CVE-2026-40859?
Apache Camel-Vertx-Http and Camel-Netty-Http: Unsafe Java deserialization of HTTP response bodies via a raw ObjectInputStream when transferException is enabled This vulnerability has been assigned a severity rating of HIGH (CVSS score: 8.1/10).
How do I check if my project is affected by CVE-2026-40859?
CVE-2026-40859 affects org.apache.camel:camel-netty-http and org.apache.camel:camel-vertx-http. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-40859 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
8.1

High exploitability or significant impact. Prioritize remediation within days.

Also Known As

GHSA-6qw3-4796-5984

Related CVEs

  • CVE-2026-40453
    CRITICAL

    Apache Camel has an incomplete fix for CVE-2025-27636

  • CVE-2026-40860
    CRITICAL

    Apache camel-jms, camel-sjms, camel-sjms2 and camel-amqp: Unsafe Deserialization of JMS ObjectMessage

  • CVE-2026-53913
    CRITICAL

    Apache Camel: KeycloakSecurityPolicy has Improper Authentication, Missing Authentication for Critical Function and Failing Open Vulnerabilities

  • CVE-2026-46454
    CRITICAL

    Apache Camel-Cometd: Inbound Bayeux message headers are mapped into the Exchange without a HeaderFilterStrategy, allowing unauthenticated clients to inject Camel control headers

  • CVE-2026-42527
    HIGH

    Apache Camel: Permissive default ObjectInputFilter pattern admits java.net.** and enables DNS-based information disclosure

  • CVE-2026-43866
    HIGH

    Apache Camel JMS deserialization filter bypass

  • CVE-2026-46592
    HIGH

    Apache Camel-CXF: The SOAP operation-selection headers used non-Camel-prefixed names (operationName, operationNamespace) that bypass the HTTP header filter, allowing an HTTP client to redirect the invoked SOAP operation

  • CVE-2026-46591
    HIGH

    Apache Camel-Neo4j: JSON property names from the CamelNeo4jMatchProperties header are interpolated into the Cypher WHERE clause without validation, allowing Cypher injection (incomplete remediation of CVE-2025-66169)

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies