CVE-2026-85243: Apache Camel: Camel-Crypto-PGP Integrity Verification Downgrade via Attacker-Controlled Message Structure
Improper Validation of Integrity Check Value vulnerability in Apache Camel Crypto PGP component.
This issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before 4.22.1.
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.
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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Apache Camelto a version that resolves this vulnerability.Fixed in 4.23.0 - Upgrade
Upgrade
Apache Camel 4.18.x LTS release streamto a version that resolves this vulnerability.Fixed in 4.18.5 - Upgrade
Upgrade
Apache Camel 4.22.x LTS release streamto a version that resolves this vulnerability.Fixed in 4.22.1 - Configuration
Reject messages that do not use an integrity-protected packet before they reach the data format. For routes interoperating with a sender that still emits the legacy packet, set requireIntegrityProtection=false only after upgrading and treat the decrypted content as unauthenticated.
Apache Camel Crypto PGP requireIntegrityProtection = true
Event History
Frequently Asked Questions
Which deployments are exposed?
Deployments using the Apache Camel Crypto PGP component to unmarshal OpenPGP-encrypted messages are affected in Camel versions from 4.0.0 before 4.18.5 and from 4.19.0 before 4.22.1. The issue concerns accepted encrypted input, not PGP message marshalling.
What does an attacker need to exploit this issue?
An attacker must be able to produce an OpenPGP message for the target or rewrite an encrypted message in transit. They can select the older symmetrically encrypted data packet type, which lacks an integrity check, allowing the decrypt-side validation to be skipped.
Are default settings affected?
Previously, there was no decrypt-side setting that required accepted messages to have integrity protection; the existing integrity option applied only to marshalling. In the fixed releases, requireIntegrityProtection defaults to true and rejects messages that are not integrity protected.
What should teams do if they cannot patch immediately?
The provided information identifies upgrading as the remediation and does not describe an equivalent mitigation for affected versions. Upgrade to 4.18.5 for the 4.18.x LTS stream, 4.22.1 for the 4.22.x LTS stream, or 4.23.0.