Skip to main content

Apache Camel Keycloak CVE-2026-95663

| EUVDEUVD-2026-109670 MEDIUM
Insufficient Session Expiration (CWE-613)
4.8
CVSS 3.1 · Vendor
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Acquire access token valid moments earlier
  2. Exploit
    Send request so active introspection result is cached
  3. Execution
    Continue presenting same token after its exp passes
  4. Impact
    Request admitted with expired token's roles within cache TTL

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V7 - Session Management Session expiration enforcement
Exploitation Conditions

Exploitation requires the KeycloakSecurityPolicy to be configured with useTokenIntrospection=true and the default introspectionCacheEnabled=true; token introspection is not enabled by default, so default deployments are not affected, and the local JWT verification path (introspection disabled) is explicitly unaffected. The caller must hold an access token that the same Camel process introspected and cached while the token was still active; the reuse window after expiry is bounded by introspectionCacheTtl - 60 seconds by default, or 300-600 seconds where the documentation's internal-services recommendation was followed. Limiting factors: the attacker gains nothing beyond what the token already carried (no forgery, no privilege escalation), the window is short, and the condition depends on a token being cached shortly before its exp - lowering introspectionCacheTtl only narrows but does not close the window.

Impact

This is a genuine but low-urgency medium-severity issue, and the available signals are mostly weak or absent rather than conflicting. The vendor CVSS is 4.8 (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N): network-reachable but high attack complexity and only low confidentiality/integrity impact. No EPSS score was supplied, there is no CISA KEV listing, and no SSVC decision was provided - the vuln.today Decision label is 'awaiting_data', meaning the prioritization inputs are incomplete rather than pointing to high risk. The real-world risk is constrained by three factors the advisory states plainly: token introspection is NOT enabled by default, so the vulnerable code path is only reached under a deliberate non-default configuration (useTokenIntrospection=true); the issue grants no token forgery and no privilege escalation, only a short extension of access a caller already legitimately held; and the exposure window is bounded by introspectionCacheTtl (60 seconds by default, 300-600 seconds if the internal-service recommendation was followed). One signal to verify: the vendor assigns PR:N (unauthenticated), yet the attack inherently requires possessing an access token that was valid moments earlier and was introspected/cached by the same Camel process while active - i.e. a previously-authenticated credential - so in practice this is closer to a privileged/authenticated prerequisite than a true unauthenticated flaw. Overall this is a correctness/hardening fix (RFC 7662 caching violation) rather than an emergency.

Exploit ScenarioDerived

A client application or user holds a bearer access token that camel-keycloak introspected and cached as active shortly before the token's exp time passed. Because the cached introspection result is expired only by insertion-time TTL and never bounded by the token's exp, the caller keeps presenting the same now-expired token in the Authorization header and is still admitted with that token's roles for up to introspectionCacheTtl seconds after expiry. No public exploit identified at time of analysis; the GitHub references are the remediation pull requests, not exploit code, and the high attack complexity reflects the narrow timing window in which a near-expiry token must have been cached.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 23, 2026

Expired OAuth 2.0 access tokens continue to be accepted by the camel-keycloak KeycloakSecurityPolicy when token introspection is enabled (useTokenIntrospection=true) and the default introspection result cache is active. Because both shipped caches (ConcurrentMapTokenCache, CaffeineTokenCache) expire entries on a fixed insertion-time TTL rather than being bounded by the token's exp claim, and KeycloakSecurityProcessor only re-checks the introspection response's active flag, a token cached shortly before it expired remains usable for up to introspectionCacheTtl seconds after expiry - 60 seconds by default, or 300-600 seconds where the documentation's internal-services guidance was followed. An authenticated holder of a token that was valid moments earlier can therefore keep exercising exactly the roles and permissions that token already carried; no forgery or privilege escalation is possible, introspection is not enabled by default, and the local JWT verification path is unaffected. No public exploit code or exploitation activity is identified in the available data, and the overall risk is assessed as medium severity with low urgency.

RemediationAI

Vendor-released patch: upgrade to Apache Camel 4.23.0, or to 4.22.2 if on the 4.22.x stream, or to 4.18.5 if on the 4.18.x stream; these versions bound each cache entry's lifetime by the shorter of introspectionCacheTtl and the time remaining until the token's exp, never serve an already-expired cached result, and make KeycloakSecurityProcessor reject a token whose exp is in the past on every introspection path. Deployments on 4.16.x, 4.17.x or 4.19.x through 4.21.x must move to a supported release because those lines are end of life and will not be fixed. For deployments that cannot upgrade immediately, set introspectionCacheEnabled=false on the KeycloakSecurityPolicy so every request is re-checked against the introspection endpoint, which reports expired tokens as inactive; the trade-off is one introspection call per request against Keycloak, adding latency and load to the identity provider. Lowering introspectionCacheTtl only narrows the post-expiry window and does not close it, so it is not a substitute for disabling the cache or upgrading. Full details are in the vendor advisory at https://camel.apache.org/security/CVE-2026-95663.html.

Affected VersionsENISA

Apache Camel 4.16.0 <4.18.5
Apache Camel 4.19.0 <4.22.2

Affected Packages

euvd apache_camel fix: 4.18.5, 4.22.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected code is the camel-keycloak security policy and processor (Maven artifact org.apache.camel:camel-keycloak), which can validate bearer tokens supplied in the Authorization header either locally as JWTs or remotely via Keycloak's OAuth 2.0 token introspection endpoint (RFC 7662). On the introspection path the component sends the caller's token to Keycloak and treats an 'active: true' response as authorization; Keycloak only flips that flag to false once the token's exp time passes, so the active flag is the sole expiry enforcement on this path. Introspection responses are cached by default (introspectionCacheEnabled=true, introspectionCacheTtl=60 seconds), and CAMEL-24902 documents that CaffeineTokenCache used expireAfterWrite(ttl) while ConcurrentMapTokenCache stored expirationTime = now + ttlMillis - neither considered the exp value already present in KeycloakTokenIntrospector.IntrospectionResult#getExpiration(), and KeycloakSecurityProcessor checked only the active flag, never comparing exp against the current time. This violates RFC 7662's rule that a response carrying exp must not be cached beyond that time, and the root cause class is CWE-613 (Insufficient Session Expiration). It is a distinct but thematically related defect to CVE-2026-46455, which concerned the missing TokenVerifier.IS_ACTIVE check on the separate local JWT verification helper path; that helper issue does not affect the introspection path and this issue does not affect local JWT verification. Exploitation requires a non-default configuration (useTokenIntrospection=true with the cache left enabled) and a token that the same Camel process introspected and cached while it was still valid; the reuse window is bounded by the configured TTL, which is why the issue is rated medium rather than high.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (CNA) PRIMARY 4.8 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
vuln.today AI 4.2 MEDIUM

Network-reachable but the attacker must already possess a recently-valid introspected token (PR:L) and depend on the narrow near-expiry caching window (AC:H); only the token's existing low C/I impact persists, A:N.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (CNA).

CVSS VectorVendor

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

2
Patch available
Oct 26, 2026 - 10:16 EUVD
CVSS changed
Oct 26, 2026 - 09:22 NVD
4.8 (MEDIUM)

Description PRE-NVD

Disclosed via oss-security. NVD scoring and full description are pending.

Threat Intelligence Overview

EPSS Score
0.2%
Top 85% exploitable
Prevalence
Low
niche, recently-introduced Keycloak-integration component of Camel, limited adoption
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

24
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +24
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy