CVE-2026-40048

HIGH LAB

Apache Camel PQC: Unsafe Deserialization from FileBasedKeyLifecycleManager

Title source: cna
STIX 2.1

Exploitation Summary

EIP tracks 2 public exploits for CVE-2026-40048. PoCs published by oscerd.

AI-analyzed exploit summary This repository contains a functional exploit for CVE-2026-46590, demonstrating an unsafe deserialization vulnerability in Apache Camel's `FileBasedKeyLifecycleManager` (camel-pqc component). The PoC plants a malicious legacy key file that, when migrated via `ObjectInputStream.readObject()`, triggers a CommonsCollections6 gadget chain leading to arbitrary command execution.

Description

The Camel-PQC FileBasedKeyLifecycleManager class deserializes the contents of `<keyId>.key` files in the configured key directory using java.io.ObjectInputStream without applying any ObjectInputFilter or class-loading restrictions. The cast to `java.security.KeyPair` is evaluated only after `readObject()` has already returned, so any `readObject()` side effects in the deserialized object run before the type check. An attacker who can write to the key directory used by a Camel application — for example through a path traversal into the directory, misconfigured filesystem permissions on the volume where keys are stored, a compromised key provisioning pipeline, or a symlink attack — can place a crafted serialized Java object that, when deserialized during normal key lifecycle operations, results in arbitrary code execution in the context of the application. This issue affects Apache Camel: from 4.19.0 before 4.20.0, from 4.18.0 before 4.18.2. Users are recommended to upgrade to version 4.20.0, which fixes the issue by replacing java.io.ObjectInputStream-based key and metadata storage with standard PKCS#8 (private key) / X.509 SubjectPublicKeyInfo (public key) Base64 JSON encoding. For users on the 4.18.x LTS releases stream, upgrade to 4.18.2.

Exploits (2)

github WORKING POC
by oscerd · javapoc
https://github.com/oscerd/CVE-2026-46590

This repository contains a functional exploit for CVE-2026-46590, demonstrating an unsafe deserialization vulnerability in Apache Camel's `FileBasedKeyLifecycleManager` (camel-pqc component). The PoC plants a malicious legacy key file that, when migrated via `ObjectInputStream.readObject()`, triggers a CommonsCollections6 gadget chain leading to arbitrary command execution.

Classification
Working Poc 99%
Attack Type
Deserialization
Complexity
Moderate
Reliability
Reliable
Target: Apache Camel camel-pqc component (versions <= 4.18.2, 4.20.x)
No auth needed
Prerequisites: Attacker must have write access to the key directory used by `FileBasedKeyLifecycleManager` · Commons Collections 3.2.1 must be present on the classpath · JVM must run with `--add-opens java.base/java.util=ALL-UNNAMED` (only for gadget construction, not exploitation)
mistral-large-3 · analyzed Jul 15, 2026 Full analysis →
github WORKING POC
by oscerd · javapoc
https://github.com/oscerd/CVE-2026-40048

This repository provides a functional proof-of-concept for CVE-2026-40048, a Java deserialization vulnerability in Apache Camel's `FileBasedKeyLifecycleManager` (camel-pqc component). The exploit demonstrates how an attacker with write access to the key directory can achieve remote code execution by planting a malicious serialized object that is deserialized without proper filtering.

Classification
Working Poc 99%
Attack Type
Deserialization
Complexity
Moderate
Reliability
Reliable
Target: Apache Camel camel-pqc component (versions 4.18.0 to 4.18.1, 4.19.0 to 4.19.x before 4.20.0)
No auth needed
Prerequisites: Attacker must have write access to the key directory configured for `FileBasedKeyLifecycleManager` · Target system must have a gadget chain (e.g., Commons Collections) on the classpath
mistral-large-3 · analyzed Jul 08, 2026 Full analysis →

Scores

CVSS v3 7.8
EPSS 0.0025
EPSS Percentile 16.0%
Attack Vector LOCAL
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

CISA SSVC

Vulnrichment
Exploitation none
Automatable no
Technical Impact total

Lab Environment

COMMUNITY
Community Lab
docker pull eclipse-temurin:21-jre
docker pull eclipse-temurin:17-jre

Details

CWE
CWE-502
Status published
Products (5)
apache/camel 4.19.0
apache/camel 4.18.0 - 4.18.2
Apache Software Foundation/Apache Camel PQC 4.18.0 - 4.18.2
Apache Software Foundation/Apache Camel PQC 4.19.0 - 4.20.0
org.apache.camel/camel-pqc 0 - 4.18.2Maven
Published Apr 27, 2026
Tracked Since Apr 27, 2026