Executive brief
Apache Camel's post-quantum cryptography component stores encryption key metadata in AWS Secrets Manager. An attacker with write access to this secret can inject a malicious serialized object that executes arbitrary code when the application deserializes it during normal key operations. This allows complete takeover of systems managing cryptographic keys, potentially exposing all encrypted data and operations that depend on those keys.
Technical details
The AwsSecretsManagerKeyLifecycleManager.deserializeMetadata() method in the camel-pqc component deserializes KeyMetadata objects using a raw java.io.ObjectInputStream.readObject() call with no ObjectInputFilter or class allowlist. The type cast to KeyMetadata occurs only after deserialization, meaning arbitrary readObject() side effects execute before any type validation. An attacker with secretsmanager:PutSecretValue permission on the metadata secret can store a crafted serialized gadget chain that achieves remote code execution in the application's security context. Attack precondition: the attacker must have AWS IAM write permissions to the specific Secrets Manager secret. Patches are available in Apache Camel 4.18.3 (LTS stream) and 4.21.0 (main stream). Temporary mitigation involves restricting IAM write permissions to the metadata secret and storing PQC key material in a separate secret.
Affected products
- Apache Camel 4.18.0 through 4.18.2, 4.19.0 through 4.20.x
Timeline
- 2026-07-06: disclosed: Vulnerability disclosed and published by GitHub Advisory Database and NVD
- 2026-07-06: patched: Patches released: Apache Camel 4.18.3 (LTS) and 4.21.0 (main)