Apache Camel camel-vertx-http contains an unsafe deserialization vulnerability in VertxHttpHelper.deserializeJavaObjectFromStream. In affected configurations, HTTP error-response bodies marked as Java serialized objects are processed through a raw ObjectInputStream without an ObjectInputFilter. The vulnerable path is invoked for backend 5xx responses when transferException is enabled on a producer endpoint, or when the component-level allowJavaSerializedObject option is enabled, while throwExceptionOnFailure remains enabled. Affected versions are 4.0.0 through 4.14.7, 4.15.0 through 4.18.2, and 4.19.0 through 4.19.x.
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.
This repository is a self-contained Java/Spring Boot proof-of-concept for CVE-2026-40859, an unsafe deserialization issue in Apache Camel producer components camel-netty-http and camel-vertx-http. It is a real exploit reproducer, not just documentation or detection logic. Structure and purpose: Application.java is the Spring Boot entry point. VictimRoute.java defines the vulnerable Camel producer route from("direct:call") to netty-http://localhost:9999/evil?transferException=true, intentionally enabling the risky setting. MaliciousBackend.java implements an embedded attacker-controlled raw-socket HTTP server on port 9999 that always returns HTTP 500 with Content-Type: application/x-java-serialized-object and a serialized gadget body. Gadget.java constructs a CommonsCollections6-style gadget chain using commons-collections 3.2.1; when deserialized, it reaches Runtime.exec and runs /usr/bin/touch /tmp/pwned. ExploitController.java exposes /exploit/attack on port 8080, triggers the Camel route, catches the expected exception, and verifies exploitation by checking whether /tmp/pwned exists. The Dockerfile and docker-compose.yml package and expose the app for easy reproduction. Main exploit capability: remote code execution on the Camel host via malicious HTTP response deserialization. The exploit abuses the producer-side error-handling path: when the backend returns a non-2xx response and transferException=true, Camel deserializes the response body if the content type is application/x-java-serialized-object. Because gadget execution occurs during ObjectInputStream.readObject(), code runs before any instanceof Exception validation. In this PoC, the payload is hardcoded and simply creates /tmp/pwned as proof. Operational flow: a user requests /exploit/attack -> the controller invokes the direct:call Camel route -> the route contacts the malicious backend on localhost:9999 -> the backend returns a crafted serialized object in an HTTP 500 response -> Camel deserializes it and executes the gadget -> the controller reports success if /tmp/pwned exists. Targeting: affected Apache Camel versions are documented in the README and pom.xml uses camel-netty-http 4.18.2, which is within the vulnerable range. The exploit requires non-default configuration on the victim (transferException=true or allowJavaSerializedObject=true), default throwExceptionOnFailure=true, attacker control or interception of the backend response path, and a gadget library on the victim classpath. Overall maturity is OPERATIONAL: the exploit is complete and runnable, but the payload is fixed and tailored to demonstration rather than generalized weaponization.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
8 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A remote-code-execution vulnerability in Apache Camel camel-vertx-http through deserialization of untrusted data.
A remote-code-execution vulnerability in Apache Camel camel-vertx-http involving deserialization of untrusted data.
Unsafe Java deserialization vulnerability in Apache Camel camel-vertx-http and camel-netty-http. Under non-default configurations that enable transferException=true or allowJavaSerializedObject=true, an attacker able to control or substitute a backend HTTP 5xx response can trigger unrestricted Java object deserialization and potentially remote code execution.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.