← Security advisories
Apache Camel security advisory

CVE-2026-85243

Camel-Crypto-PGP: integrity verification downgrade - the modification detection code was verified only when the message used the integrity protected packet, so a sender choosing the legacy packet skipped the check entirely

Description

unmarshal() verified the modification detection code only when the message was an OpenPGP symmetrically encrypted integrity protected data packet. The older symmetrically encrypted data packet carries no such code, and OpenPGP's CFB mode is malleable without one, so a message using that packet skipped the check altogether. The packet type is chosen by whoever produced the message, which left the sender - or anyone able to rewrite the message in transit - deciding whether the integrity check applied at all. The existing integrity option governs marshalling only and had no decrypt-side counterpart, so a deployment could not require integrity protection on the messages it accepted.

Mitigation

Upgrade to Apache Camel 4.23.0, which fixes the issue. Users on the 4.18.x LTS releases stream should upgrade to 4.18.5. Users on the 4.22.x LTS releases stream should upgrade to 4.22.1. A requireIntegrityProtection option, defaulting to true, now rejects a message that is not integrity protected. Note that signatureVerificationOption still defaults to optional, so a message carrying no signature is accepted; the two options together are what give a decrypted message authenticity and not only confidentiality. For deployments that cannot upgrade immediately, reject messages that do not use the integrity protected packet before they reach the data format. Routes that must interoperate with a sender still emitting the legacy packet should set requireIntegrityProtection=false after upgrading, and treat the decrypted content as unauthenticated.

Credit

This issue was discovered by Claude Security Scan Tool

Notes

The JIRA ticket: https://issues.apache.org/jira/browse/CAMEL-24441 refers to the various commits that resolved the issue, and has more details.

The fix was merged on main in https://github.com/apache/camel/pull/25848 (commit 9d3108def6e8344f65a70ee86832b8f5237bc82d), backported to camel-4.22.x in https://github.com/apache/camel/pull/25944 (commit 95b4c1500001bc32877df5b8fca0bc7bdd080666) and to camel-4.18.x in https://github.com/apache/camel/pull/25946 (commit 4ec9b37d70b08c478966000fb1bd653abfe410e3).

The issue is classified as CWE-354 Improper Validation of Integrity Check Value. The camel-4.14.x line reached end of life before this fix and does not receive it; deployments on 4.14.x should move to 4.18.5 or later.

References