← Security advisories
Apache Camel security advisory

CVE-2026-84181

Camel-Shiro: authentication bypass - the presented credentials were not verified when the Shiro subject already bound to the thread matched the incoming principal, so a request could reuse an authentication it never performed

Description

The Shiro security processor skipped credential verification when the subject already bound to the current thread carried the same principal as the incoming exchange. Because the thread that carries a Camel exchange is drawn from a pool and reused across exchanges, a subject left bound by an earlier authenticated exchange could satisfy the check for a later one that presented no valid credentials of its own. The password on the incoming exchange was, in that case, never verified. The condition depends on thread reuse and on the principal matching, which is why it is not reached on every request, but it requires nothing of the attacker beyond sending a request naming a principal that is in active use.

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. The processor now verifies the presented credentials on every exchange rather than accepting a subject already bound to the thread. Setting alwaysReauthenticate=false restores the previous behaviour for deployments that depend on it. For deployments that cannot upgrade immediately, ensure the Shiro subject is cleared from the thread at the end of every exchange so that no subject can be inherited by a later one.

Credit

This issue was discovered by Claude Security Scan Tool

Notes

The JIRA ticket: https://issues.apache.org/jira/browse/CAMEL-24439 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/25822 (commit 6f72ae648eb0c6e54a913f7be33cd2c020355b95), backported to camel-4.22.x in https://github.com/apache/camel/pull/25944 (commit 95b4c1500001bc32877df5b8fca0bc7bdd080666) and to camel-4.18.x in https://github.com/apache/camel/pull/25946 (commit 4ec9b37d70b08c478966000fb1bd653abfe410e3).

The issue is classified as CWE-287 Improper Authentication. 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