Apache Camel security advisory: CVE-2026-43867

Severity

MEDIUM

Summary

Camel-PQC: The AWS Secrets Manager key-lifecycle manager deserializes persisted key metadata with java.io.ObjectInputStream and no ObjectInputFilter (same defect as CVE-2026-46590, reported independently)

Versions affected

From 4.18.0 before 4.18.3, from 4.19.0 before 4.21.0.

Versions fixed

4.18.3 and 4.21.0

Description

The camel-pqc component persists post-quantum key metadata (KeyMetadata) through pluggable KeyLifecycleManager implementations. AwsSecretsManagerKeyLifecycleManager.deserializeMetadata() reads that metadata back from the configured AWS Secrets Manager secret by Base64-decoding the stored value and deserializing it with a raw java.io.ObjectInputStream.readObject() and no ObjectInputFilter or class allow-list; the cast to KeyMetadata happens only after readObject() returns, so any readObject() side effects in a crafted object run before the type check. A principal who can write to the AWS Secrets Manager secret that holds this metadata (requiring secretsmanager:PutSecretValue on that secret) could store a crafted serialized object that is deserialized during normal key-lifecycle operations, potentially leading to code execution in the context of the application that manages the keys. This is the same underlying defect, in the same code path and remediated by the same fix, as CVE-2026-46590, which was reported independently and additionally covers the HashiCorp Vault and file-based sibling managers; both are incomplete-remediation follow-ons to CVE-2026-40048 (CAMEL-23200).

Notes

The JIRA ticket: https://issues.apache.org/jira/browse/CAMEL-23726 refers to the various commits that resolved the issue, and have more details. The fix was merged on main in https://github.com/apache/camel/pull/23912 (commit feea08e7847f35dc0e177652b0b02bd45f6c1b4f) and backported to camel-4.18.x in https://github.com/apache/camel/pull/23914 (commit 12a9ac3c94d6fda12d16b2c0039db41c6204727e). The fix introduces a shared KeyMetadataCodec that stores key metadata as JSON for all three KeyLifecycleManager implementations (including AwsSecretsManagerKeyLifecycleManager) and constrains the remaining legacy ObjectInputStream reads with an allow-list ObjectInputFilter. This issue was reported independently of, and is the same defect fixed by the same change as, CVE-2026-46590; that advisory covers the same camel-pqc deserialization across the HashiCorp Vault, AWS Secrets Manager and file-based managers. Both are incomplete-remediation follow-ons to CVE-2026-40048 (CAMEL-23200), which changed FileBasedKeyLifecycleManager to a JSON / PKCS#8 / X.509 storage format but did not add an ObjectInputFilter and did not cover the AWS Secrets Manager and HashiCorp Vault sibling managers. The issue is classified as CWE-502 (Deserialization of Untrusted Data). Under the project’s published security model, raw ObjectInputStream deserialization of persisted state in a key store is an in-scope class; exploitation requires write access to the operator-controlled AWS Secrets Manager secret (where a principal could already read or replace the private keys), so it is handled as defensive hardening rather than unauthenticated remote code execution, and the reporter’s network-RCE CVSS framing was not retained on review. The camel-pqc key-lifecycle managers are not present on the 4.14.x LTS release line, which is therefore not affected.

Mitigation

Users are recommended to upgrade to version 4.21.0, which fixes the issue. If users are on the 4.18.x LTS releases stream, then they are suggested to upgrade to 4.18.3. For deployments that cannot upgrade immediately, restrict write access to the AWS Secrets Manager secret that holds the camel-pqc key metadata so that only the application’s own identity holds secretsmanager:PutSecretValue on it (least-privilege IAM), and keep the PQC key material in a secret separate from any data that less-trusted principals can write.

Credit

This issue was discovered by Venkatraman Kumar from Securin

References

PGP signed advisory data: CVE-2026-43867.txt.asc
Mitre CVE Entry: https://www.cve.org/CVERecord?id=CVE-2026-43867