You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Andrea Cosentino <ac...@apache.org> on 2026/10/16 07:41:05 UTC

CVE-2026-85317: Apache Camel: Camel-HTTP OAuth2 Token Confusion via an Under-Keyed JVM-Global Token Cache

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

Affected versions:

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

Description:

Use of Cache Containing Sensitive Information vulnerability in Apache Camel HTTP component.

This issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before 4.22.1.

The OAuth2 client token cache is global to the JVM, and its key omitted several of the fields that determine what a token actually authorises: the requested scope, the resource indicator, and the token endpoint the token was obtained from. Two endpoints differing only in those fields therefore shared a cache entry, and an endpoint could be served a token minted for a different scope, a different resource, or by a different authorization server. The consequence is a request carrying broader authority than the endpoint was configured for, or a token presented to a party it was not issued for. Reaching it requires a deployment that configures more than one OAuth2 endpoint differing in exactly those fields, which is why the severity is assessed low.

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 cache key now includes every field that shapes the token, so entries are no longer shared between endpoints that differ in any of them. For deployments that cannot upgrade immediately, run endpoints that differ in scope, resource indicator or token endpoint in separate JVMs so that they do not share the cache.

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. The cache key now includes every field that shapes the token, so entries are no longer shared between endpoints that differ in any of them.

Work Arounds:

For deployments that cannot upgrade immediately, run endpoints that differ in scope, resource indicator or token endpoint in separate JVMs so that they do not share the cache.

Credit:

Claude Security (finder)
Andrea Cosentino (remediation developer)

References:

https://camel.apache.org/security/CVE-2026-85317.html
https://issues.apache.org/jira/browse/CAMEL-24456
https://github.com/apache/camel/pull/25834
https://github.com/apache/camel/pull/25937
https://github.com/apache/camel/pull/25938
https://camel.apache.org/
https://www.cve.org/CVERecord?id=CVE-2026-85317