{"id":"CVE-2026-85243","kind":"vulnerability","aliases":["CVE-2026-85243"],"related":[],"title":"Apache Camel PGP: unmarshal skips integrity check on legacy packets","description":"Improper Validation of Integrity Check Value vulnerability in Apache Camel Crypto PGP component.\n\nThis issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before 4.22.1.\n\nunmarshal() 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.\n\nUpgrade 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.","summary":"Apache Camel's Crypto PGP component did not verify the integrity check on OpenPGP messages sent in the older symmetrically encrypted data packet, because that packet type carries no integrity code. An attacker who can produce or rewrite such a message in transit can alter the decrypted content without detection.","severity":"medium","cvss":5.9,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["apache-camel","camel-crypto","java","package","pgp"],"not_affected_if":["camel-outside-affected-range","no-pgp-unmarshal"],"how_to_check":"- Look for the `camel-crypto` (PGP data format) dependency and its version in the project build file, for example with `mvn dependency:tree | grep camel-crypto`\n- Check whether routes call `unmarshal` with the PGP data format and whether `requireIntegrityProtection` is set\n- Confirm the Camel version with `mvn dependency:list | grep camel-core`","fix":"- Upgrade Apache Camel to `4.23.0`\n- On the 4.18.x LTS stream, upgrade to `4.18.5`\n- On the 4.22.x LTS stream, upgrade to `4.22.1`\n- Keep `requireIntegrityProtection` at its default `true`; if interoperating with a legacy sender requires `requireIntegrityProtection=false`, treat decrypted content as unauthenticated","status":"open","published_at":"2026-10-19T11:17:22+00:00","first_seen_at":"2026-10-23T21:57:18+00:00","triaged_at":"2026-10-25T04:08:51+00:00","updated_at":"2026-10-25T04:08:51+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-10-25T04:08:51Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade Apache Camel to `4.23.0`\n- On the 4.18.x LTS stream, upgrade to `4.18.5`\n- On the 4.22.x LTS stream, upgrade to `4.22.1`\n- Keep `requireIntegrityProtection` at its default `true`; if interoperating with a legacy sender requires `requireIntegrityProtection=false`, treat decrypted content as unauthenticated","reach":"network","title":"Apache Camel PGP: unmarshal skips integrity check on legacy packets","impact":"medium","summary":"Apache Camel's Crypto PGP component did not verify the integrity check on OpenPGP messages sent in the older symmetrically encrypted data packet, because that packet type carries no integrity code. An attacker who can produce or rewrite such a message in transit can alter the decrypted content without detection.","category":"package","nicknames":[],"who_cares":["apache-camel","java","pgp","camel-crypto"],"confidence":0.8,"needs_auth":"unknown","worst_case":"attacker alters decrypted message content without detection","analyst_note":"","how_to_check":"- Look for the `camel-crypto` (PGP data format) dependency and its version in the project build file, for example with `mvn dependency:tree | grep camel-crypto`\n- Check whether routes call `unmarshal` with the PGP data format and whether `requireIntegrityProtection` is set\n- Confirm the Camel version with `mvn dependency:list | grep camel-core`","needs_analyst":false,"not_affected_if":["no-pgp-unmarshal","camel-outside-affected-range"],"who_is_affected":"Applications running Apache Camel from 4.0.0 before 4.18.5, or from 4.19.0 before 4.22.1, that use the Crypto PGP component to decrypt messages. The exposure depends on whether inbound messages can come from a sender or path an attacker can influence. Teams that do not use the PGP data format in unmarshal can skip it.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000741,"input_tokens":3784,"output_tokens":726,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':12A,15A '-85243':13A,16A '4.0.0':95C '4.18':220C '4.18.5':97C,228C '4.19.0':99C '4.22':232C '4.22.1':101C,240C '4.23.0':212C 'abl':166C 'accept':207C,270C 'affect':91C 'alter':70B 'altogeth':149C 'anyon':165C 'apach':1A,18B,26B,84C,92C,210C 'apache-camel':17B 'appli':178C 'attack':58B 'authent':281C 'camel':2A,19B,21B,27B,85C,93C,211C 'camel-crypto':20B 'cannot':289C 'carri':53B,127C,266C 'cfb':134C 'check':7A,37B,80C,148C,177C 'chosen':154C 'code':56B,107C,130C 'compon':31B,88C 'confidenti':285C 'content':73B,330C 'could':198C 'counterpart':194C 'crypto':22B,29B,86C 'cve':11A,14A 'data':47B,119C,125C,306C 'decid':173C 'decrypt':72B,192C,279C,329C 'decrypt-sid':191C 'default':244C,260C 'deploy':197C,287C 'detect':75B,106C 'emit':316C 'encrypt':46B,116C,124C 'exist':182C 'fals':323C 'fix':214C 'format':307C 'give':277C 'govern':185C 'immedi':291C 'improp':76C 'integr':6A,36B,55B,79C,117C,176C,183C,201C,254C,299C 'interoper':311C 'issu':90C,216C 'java':23B 'left':161C 'legaci':9A,318C 'lts':222C,234C 'malleabl':137C 'marshal':186C 'messag':40B,66B,111C,142C,159C,170C,205C,250C,265C,280C,293C 'mode':135C 'modif':105C 'must':310C 'note':256C 'older':44B,122C 'one':139C 'openpgp':39B,114C,132C 'option':184C,243C,262C,273C 'packag':24B 'packet':10A,48B,51B,120C,126C,145C,151C,301C,319C 'pgp':3A,25B,30B,87C 'produc':61B,157C 'protect':118C,202C,255C,300C 'reach':304C 'reject':248C,292C 'releas':223C,235C 'requir':200C 'requireintegrityprotect':242C,322C 'rewrit':63B,168C 'rout':308C 'sender':163C,314C 'sent':41B 'set':321C 'side':193C 'signatur':268C 'signatureverificationopt':258C 'skip':5A,146C 'still':259C,315C 'stream':224C,236C 'symmetr':45B,115C,123C 'togeth':274C 'transit':68B,172C 'treat':327C 'true':246C 'two':272C 'type':52B,152C 'unauthent':332C 'unmarsh':4A,102C 'upgrad':208C,226C,238C,290C,325C 'use':143C,297C 'user':217C,229C 'valid':77C 'valu':81C 'verifi':34B,103C 'vulner':82C 'whether':174C 'whoever':156C 'without':74B,138C 'x':221C,233C","nicknames":[],"mitigations":[],"who_affected":"Applications running Apache Camel from 4.0.0 before 4.18.5, or from 4.19.0 before 4.22.1, that use the Crypto PGP component to decrypt messages. The exposure depends on whether inbound messages can come from a sender or path an attacker can influence. Teams that do not use the PGP data format in unmarshal can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-19T11:17:22+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N","cvss_by":"security@apache.org","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-85243","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-85243","severity":null,"published_at":"2026-10-19T11:17:22+00:00","modified_at":"2026-10-19T20:45:51+00:00","first_seen_at":"2026-10-23T21:57:18+00:00","fetched_at":"2026-10-23T22:28:57+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}