-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 - --- title: "Apache Camel Security Advisory - CVE-2026-46455" date: 2026-07-03T10:00:00+02:00 url: /security/CVE-2026-46455.html draft: false type: security-advisory cve: CVE-2026-46455 severity: MEDIUM summary: "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" description: "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." mitigation: "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." credit: "This issue was discovered by Andrea Cosentino from Apache Software Foundation and Yu Bao from Paypal" affected: "From 4.18.0 before 4.18.3, from 4.19.0 before 4.21.0." fixed: 4.18.3 and 4.21.0 - --- The JIRA ticket: https://issues.apache.org/jira/browse/CAMEL-23504 refers to the various commits that resolved the issue, and have more details. The fix was merged on main in https://github.com/apache/camel/pull/23197 (commit 39133b1ada37c60dea53f3b7db720dbd2ae73fa6) and backported to camel-4.18.x (commit 7f4c4736021aff4fad925eca3bf456b95db038f3, PR #23204). The fix adds TokenVerifier.IS_ACTIVE to the withChecks(...) invocation so the token's validity window (exp/nbf) is enforced alongside the existing signature, subject and issuer checks. The issue is classified as CWE-613 (Insufficient Session Expiration) and CWE-287 (Improper Authentication). The camel-keycloak security helper that contains the affected method was introduced in 4.18.0; earlier releases and the 4.14.x LTS line do not ship it and are not affected. -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEJ2Y0ButtuvUpHyYV406fOAL/QQAFAmpHoh4ACgkQ406fOAL/ QQDvgAf+KnYnPoB3TX6EAhYrPti3hzsiAD1M48fhRf3qe8iU/3bJnm3DySZvXqVQ a7ERLS3+WA8Wt5hnwVRwK5H5nkQ+myAlev/G5W19+LaXw1BY201kMF3q9JhiSBlE zyPgrFkS6bBLPVzOjtwZaCi8xRZx4AC3qjmpOX3O/OfbyejeYfufiBkMXuGNDYSl 2F07TVQJmTBCntlrs7Dvz2kvVkexb6XEV2izX9/PlG08d/GnYqqj0AQ5c1DfUgf2 e7Mm1HSStfylQBNJotXzKUMw/W0xw0V19FpGXuAs6sSQSCJBtvv2F05ChdmmFFPU eOroFjmaEC4qqdJ3mKiTcf+JOV2Stw== =petq -----END PGP SIGNATURE-----