🔍 CVE-2026-46455

9.8
CVSS Score
CRITICAL
2026-07-06
2026-07-08 03:15
✅ 완료

🇰🇷 한글 설명

Apache Camel Keycloak 컴포넌트의 KeycloakSecurityHelper에서 세션 만료 검증이 불충분하게 이루어지는 취약점이 발견되었습니다. 토큰의 서명과 발행처는 확인하지만 만료 시간(exp) 및 유효 시작 시간(nbf)을 검증하는 IS_ACTIVE 체크가 누락되어, 만료된 토큰도 유효한 것으로 처리될 수 있습니다.

💡 쉬운 설명

이미 유효 기간이 지난 보안 토큰을 사용하더라도 시스템이 이를 정상적인 토큰으로 착각하여 통과시켜 주는 문제입니다. 이로 인해 탈취된 오래된 토큰을 이용한 부정 접속 위험이 있습니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

Apache Camel 4.18.0 ~ 4.18.2, 4.19.0 ~ 4.20.x

⚔️ 공격 벡터

만료된 Keycloak 액세스 토큰을 사용하여 인증이 필요한 Apache Camel 라우트에 요청을 전송

🛡️ 대응 방법

Apache Camel을 4.21.0 또는 4.18.3 이상의 버전으로 업그레이드하십시오.

🔧 검증 코드

출력된 결과에서 camel-core 또는 camel-keycloak의 버전이 취약한 범위(4.18.0-4.18.2 또는 4.19.0-4.20.x)에 있는지 확인하십시오.

Shell / Script
mvn dependency:tree | grep -E 'camel-core|camel-keycloak'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Spring Cloud Gateway Server