Skip to main content
← All vulnerabilities
CVE-2026-40048GHSA-V3VG-332R-MW99

Apache Camel PQC: Unsafe Deserialization from FileBasedKeyLifecycleManager

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.20.0, 4.18.2
1 proof of concept on GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • org.apache.camel:camel-pqc

    From 4.19.0 · fixed in 4.20.0; From 4.18.0 · fixed in 4.18.2

  • org.apache.camel:camel-pqcMaven

    fixed in 4.18.2

References 2

camel.apache.org

GitHub · oscerd/CVE-2026-40048