Skip to main content
Live Webinar with SANS (June 25)— Agentic CTI Automation for Fun & ProfitRegister Free
Mallory
CriticalPublic exploit

Unsafe deserialization in Apache Camel CassandraQL AggregationRepository

IdentifiersCVE-2024-23114CWE-502· Deserialization of Untrusted Data

Apache Camel contains an unsafe deserialization vulnerability in the CassandraQL component's AggregationRepository. The advisory states that the CassandraQL Component AggregationRepository can deserialize untrusted data under specific conditions, allowing a malicious serialized payload to be processed. This affects Apache Camel versions from 3.0.0 before 3.21.4, from 3.22.0 before 3.22.1, from 4.0.0 before 4.0.4, and from 4.1.0 before 4.4.0.

Share:
For your environment

Are you exposed to this one?

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.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation may allow deserialization of attacker-controlled payloads, which can result in arbitrary code execution or other impacts typically associated with unsafe Java deserialization in the context of the affected Camel application.

Mitigation

If you can’t patch tonight, do this now.

No specific workaround is provided in the supplied content. As a temporary risk-reduction measure, avoid using the vulnerable CassandraQL AggregationRepository with untrusted data sources and restrict access to systems, components, and data paths that could introduce malicious serialized payloads until patched versions are deployed.

Remediation

Patch, then assume compromise.

Upgrade to a fixed Apache Camel release. Apache recommends upgrading to 4.4.0 where possible. Users on the 4.0.x LTS stream should upgrade to 4.0.4. Users on 3.x should upgrade to 3.21.4 or 3.22.1, depending on their release stream.
PUBLIC EXPLOITS

Exploits

1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.

VALID 1 / 1 TOTALView more in app
CVE-2026-25747MaturityPoCVerified exploit

Repository purpose: a Spring Boot + Apache Camel proof-of-concept reproducer for an unsafe Java deserialization condition in Camel's LevelDB Aggregation Repository serializer (DefaultLevelDBSerializer uses raw ObjectInputStream without an ObjectInputFilter). The PoC demonstrates how a malicious serialized object placed into the LevelDB backing store can be deserialized during repository reads/recovery, leading to code execution if a gadget chain is available. Structure and key files: - pom.xml: Maven build; uses Spring Boot 3.2.0, Apache Camel 4.18.0-SNAPSHOT, and explicitly includes commons-collections:3.2.1 to ensure a known ysoserial gadget chain is on the classpath. - src/main/java/com/example/Application.java: Spring Boot entry point. - src/main/java/com/example/ExploitController.java: Main PoC logic exposing REST endpoints: - GET /exploit/init: creates /tmp/leveldb-exploit/aggregation.db, starts a LevelDBAggregationRepository named "myrepo", and writes a legitimate exchange under key "test-key". - POST /exploit/inject: accepts a hex string, converts to bytes, opens LevelDB directly (org.iq80.leveldb), and writes the bytes as the value for key "myrepo\0malicious-key" (repositoryName + NUL + correlationKey). This simulates an attacker gaining write access to the LevelDB store. - GET /exploit/trigger: starts the repository, enumerates keys, and calls repo.get(camelContext, key) for each key. This forces unmarshalling/deserialization of the stored bytes; a malicious entry triggers gadget execution. - GET /exploit/cleanup: deletes the LevelDB directory/files. - src/main/java/com/example/LevelDBRoute.java and StringAggregationStrategy.java: illustrative Camel aggregation route/strategy; route is intentionally disabled to avoid LevelDB file locking and keep the PoC manual. - src/main/resources/application.properties: sets server.port=8080. Exploit capabilities: - Writes attacker-controlled serialized bytes into the LevelDB store (via provided HTTP endpoint in this PoC). - Triggers deserialization by invoking LevelDBAggregationRepository.get() over stored keys. - Achieves RCE when a gadget chain is present (the project includes commons-collections 3.2.1; README suggests generating payloads with ysoserial CommonsCollections7). Notes on realism/conditions: - In real deployments, the primary prerequisite is an attacker-controlled write into the LevelDB persistence (filesystem access or another vulnerability). This PoC adds a network-accessible injection endpoint to make the condition easy to reproduce.

oscerdDisclosed Feb 9, 2026javaxmlnetworklocal/file-write
EXPOSURE SURFACE

Affected products & vendors

Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.

VendorProductType
Apache Software FoundationCamelapplication

Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence

Every observed campaign linking this CVE to a named adversary.

Associated malware

Malware families riding this exploit, with evidence and IOCs.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity2

Community discussion across Reddit, Mastodon, and other social sources.