{"id":"CVE-2026-85296","kind":"vulnerability","aliases":["CVE-2026-85296"],"related":[],"title":"Apache Camel AS2: signing keys shared across requests, wrong partner signs receipts","description":"Exposure of Data Element to Wrong Session vulnerability in Apache Camel AS2 component.\n\nThis issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before 4.22.1.\n\nSigning material belonging to an individual request was stored in state that is shared across requests rather than confined to the request being processed. Where a deployment serves more than one trading partner, concurrent or successive requests could therefore observe each other's material, and a Message Disposition Notification could be signed with the key of a partner other than the one the receipt was for. The result is cross-partner key confusion: a receipt attributable to the wrong partner, and one partner's signing material used while handling another partner's exchange. AS2 deployments are typically multi-partner by design, so the condition is reached by ordinary concurrent traffic rather than by anything the attacker must arrange.\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. Per-request signing keys are now confined to the request being processed in ResponseMDN. For deployments that cannot upgrade immediately, run a separate Camel context per trading partner so that no signing material is shared between them.","summary":"The Apache Camel AS2 component stored per-request signing material in state shared across requests, so one trading partner's key can be used to sign another partner's Message Disposition Notification. The result is receipts attributed to the wrong partner and cross-partner key confusion, reached through ordinary concurrent multi-partner traffic.","severity":"medium","cvss":6.5,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["apache-camel","as2","integration","java","package","self-hosted"],"not_affected_if":["already-patched","camel-as2-unused","single-partner"],"how_to_check":"- Check the Apache Camel version in use, for example with `mvn dependency:tree | grep camel-as2` or the `camel-as2-*` jar version, and confirm whether it falls in 4.0.0 to before 4.18.5 or 4.19.0 to before 4.22.1.\n- Confirm whether the AS2 component serves more than one trading partner in the same Camel context.","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- If an upgrade is not possible yet, run a separate Camel context per trading partner so no signing material is shared.","status":"open","published_at":"2026-10-19T11:17:24+00:00","first_seen_at":"2026-10-23T21:57:18+00:00","triaged_at":"2026-10-25T03:57:09+00:00","updated_at":"2026-10-25T03:57:09+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-25T03:57:09Z","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- If an upgrade is not possible yet, run a separate Camel context per trading partner so no signing material is shared.","reach":"network","title":"Apache Camel AS2: signing keys shared across requests, wrong partner signs receipts","impact":"medium","summary":"The Apache Camel AS2 component stored per-request signing material in state shared across requests, so one trading partner's key can be used to sign another partner's Message Disposition Notification. The result is receipts attributed to the wrong partner and cross-partner key confusion, reached through ordinary concurrent multi-partner traffic.","category":"package","nicknames":[],"who_cares":["java","apache-camel","as2","integration","self-hosted"],"confidence":0.7,"needs_auth":"unknown","worst_case":"Receipts signed with another partner's key, leaking signing material between partners","analyst_note":"","how_to_check":"- Check the Apache Camel version in use, for example with `mvn dependency:tree | grep camel-as2` or the `camel-as2-*` jar version, and confirm whether it falls in 4.0.0 to before 4.18.5 or 4.19.0 to before 4.22.1.\n- Confirm whether the AS2 component serves more than one trading partner in the same Camel context.","needs_analyst":false,"not_affected_if":["single-partner","camel-as2-unused","already-patched"],"who_is_affected":"Teams running the Apache Camel AS2 component in Camel 4.0.0 through 4.18.x before 4.18.5, or 4.19.x through 4.22.x before 4.22.1, that serve more than one AS2 trading partner from the same deployment. Single-partner deployments are not described as exposed by the sources, and teams not using camel-as2 can skip it.","user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"medium"},"cost_usd":0.000724,"input_tokens":3654,"output_tokens":717,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':14A,17A '-85296':15A,18A '4.0.0':104C '4.18':243C '4.18.5':106C,251C '4.19.0':108C '4.22':255C '4.22.1':110C,263C '4.23.0':235C 'across':7A,43B,125C 'affect':100C 'anoth':56B,201C 'anyth':226C 'apach':1A,20B,30B,94C,101C,233C 'apache-camel':19B 'arrang':230C 'as2':3A,22B,32B,96C,205C 'attack':228C 'attribut':66B,187C 'belong':113C 'camel':2A,21B,31B,95C,102C,234C,288C 'cannot':282C 'compon':33B,97C 'concurr':80B,144C,221C 'condit':216C 'confin':129C,271C 'confus':76B,184C 'context':289C 'could':148C,160C 'cross':73B,181C 'cross-partn':72B,180C 'cve':13A,16A 'data':87C 'deploy':137C,206C,280C 'design':213C 'disposit':60B,158C 'element':88C 'exchang':204C 'exposur':85C 'fix':237C 'handl':200C 'host':28B 'immedi':284C 'individu':116C 'integr':23B 'issu':99C,239C 'java':24B 'key':5A,50B,75B,165C,183C,268C 'lts':245C,257C 'materi':39B,112C,154C,197C,297C 'messag':59B,157C 'multi':82B,210C 'multi-partn':81B,209C 'must':229C 'notif':61B,159C 'observ':150C 'one':46B,141C,172C,193C 'ordinari':79B,220C 'packag':25B 'partner':10A,48B,57B,70B,74B,83B,143C,168C,182C,191C,194C,202C,211C,292C 'per':36B,265C,290C 'per-request':35B,264C 'process':134C,276C 'rather':127C,223C 'reach':77B,218C 'receipt':12A,65B,174C,186C 'releas':246C,258C 'request':8A,37B,44B,117C,126C,132C,147C,266C,274C 'responsemdn':278C 'result':63B,178C 'run':285C 'self':27B 'self-host':26B 'separ':287C 'serv':138C 'session':91C 'share':6A,42B,124C,299C 'sign':4A,11A,38B,55B,111C,162C,196C,267C,296C 'state':41B,121C 'store':34B,119C 'stream':247C,259C 'success':146C 'therefor':149C 'trade':47B,142C,291C 'traffic':84B,222C 'typic':208C 'upgrad':231C,249C,261C,283C 'use':53B,198C 'user':240C,252C 'vulner':92C 'wrong':9A,69B,90C,190C 'x':244C,256C","nicknames":[],"mitigations":[],"who_affected":"Teams running the Apache Camel AS2 component in Camel 4.0.0 through 4.18.x before 4.18.5, or 4.19.x through 4.22.x before 4.22.1, that serve more than one AS2 trading partner from the same deployment. Single-partner deployments are not described as exposed by the sources, and teams not using camel-as2 can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-19T11:17:24+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N","cvss_by":"security@apache.org","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-85296","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-85296","severity":null,"published_at":"2026-10-19T11:17:24+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"}