← Security advisories
Apache Camel security advisory

CVE-2026-85296

Camel-AS2: cross-partner signing key confusion - per-request signing material was held in state shared across requests, so a receipt could be signed with the key belonging to a different trading partner

Description

Signing 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.

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. 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.

Credit

This issue was discovered by Claude Security Scan Tool

Notes

The JIRA ticket: https://issues.apache.org/jira/browse/CAMEL-24429 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/25641 (commit 659176dec58522fbebea11a1f6d5ee5c37f235d9), backported to camel-4.22.x in https://github.com/apache/camel/pull/25869 (commit ab5eacd3fa485eb990cf021dc56e48465c060d39) and to camel-4.18.x in https://github.com/apache/camel/pull/25870 (commit 19f91785f9e975e7734efd514946c2dfdbdbd1d7).

The issue is classified as CWE-488 Exposure of Data Element to Wrong Session. 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