Severity: 
    CVSS 3.1: 5.9 (medium) CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N

Affected versions:

- Apache Camel (org.apache.camel:camel-crypto-pgp) 4.0.0 before 4.18.5
- Apache Camel (org.apache.camel:camel-crypto-pgp) 4.19.0 before 4.22.1
- Apache Camel (org.apache.camel:camel-crypto-pgp) 4.18.5 unaffected
- Apache Camel (org.apache.camel:camel-crypto-pgp) 4.22.1 unaffected
- Apache Camel (org.apache.camel:camel-crypto-pgp) 4.23.0 unaffected

Description:

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.

Solution:

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.

Work Arounds:

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:

Claude Security (finder)
Andrea Cosentino (remediation developer)

References:

https://camel.apache.org/security/CVE-2026-85243.html
https://issues.apache.org/jira/browse/CAMEL-24441
https://github.com/apache/camel/pull/25848
https://github.com/apache/camel/pull/25944
https://github.com/apache/camel/pull/25946
https://camel.apache.org/
https://www.cve.org/CVERecord?id=CVE-2026-85243

Reply via email to