CVE-2026-53913
Apache Camel Keycloak: KeycloakSecurityPolicy는 역할 및 권한 검사 내에서만 bearer 액세스 토큰을 검증하므로, 기본 구성에서는 토큰이 검증되지 않으며 null이 아닌 모든 bearer 값이 허용됩니다.
- 게시됨
- 2026. 7. 6.
- 업데이트됨
- 2026. 7. 7.
- CNA 할당 중
- apache
- 증거 관찰됨
- 2026. 8. 7.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H낮음 · 다음 30일
- 백분위수
- 63.3%
- 모델 날짜
- 2026. 9. 21.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
부적절한 인증, 중요 기능에 대한 인증 누락, 안전하지 않은 실패('Fail Open') 취약점이 Apache Camel Keycloak 컴포넌트에 존재합니다. camel-keycloak의 KeycloakSecurityPolicy는 KeycloakSecurityProcessor.beforeProcess()를 실행하여 라우트를 보호하는데, 이 메서드는 세 가지 검사를 순서대로 수행합니다: 액세스 토큰이 없는 요청을 거부하고, 그 다음 - requiredRoles가 비어 있지 않은 경우에만 - 역할을 검증하며, - requiredPermissions가 비어 있지 않은 경우에만 - 권한을 검증합니다. 베어러 액세스 토큰의 실제 암호화 검증(로컬 JWT의 경우 서명, 발급자 및 만료, 토큰 인트로스펙션의 경우 활성 상태 및 발급자)은 오직 해당 역할 및 권한 검사 내부에서만 수행됩니다. KeycloakSecurityPolicy는 requiredRoles와 requiredPermissions를 기본적으로 비어 있게 설정하는데, 이는 문서화된 '기본 설정(Basic Setup)'입니다. 따라서 해당 방식으로 구성된 라우트에서는 역할 및 권한 검사가 건너뛰어져 액세스 토큰이 결코 검증되지 않습니다. 토큰 존재 검사는 여전히 누락된 토큰을 거부하지만, 유효하지 않은 토큰은 허용됩니다: Authorization: Bearer 헤더의 null이 아닌 모든 값(임의의 문자열 또는 위조된 서명 없는 JWT 포함)이 정책을 통과하여 요청이 보호된 라우트에 도달하며, 서명, 발급자 또는 만료 검사가 없고 Keycloak에 대한 요청도 없습니다. allowTokenFromHeader가 기본적으로 true이기 때문에 토큰은 인바운드 요청 헤더에서 읽힙니다. 이 정책 뒤에 라우트를 배치하는 일반적인 이유는 해당 라우트가 서버 측 작업을 수행하기 때문이므로, 이 우회로 인해 해당 작업에 대한 인증되지 않은 접근이 발생합니다. 보호된 라우트가 코드 실행이 가능한 프로듀서로 전달되는 경우, 인증되지 않은 원격 코드 실행으로 이어질 수 있습니다. 이 결함은 CVE-2026-23552와는 독립적입니다: 해당 문제는 발급자 클레임에 관한 것이었고 검증 루틴 내부에 검사를 추가하여 수정되었지만, 여기서는 기본 구성에서 검증 루틴에 전혀 도달하지 않으므로 결함이 남아 있습니다. 이 문제는 Apache Camel 4.15.0부터 4.18.3 이전, 4.19.0부터 4.21.0 이전 버전에 영향을 미칩니다. 사용자는 이 문제를 수정한 4.21.0 버전으로 업그레이드하는 것이 좋습니다. 4.18.x 릴리스 스트림을 사용 중인 경우 4.18.3으로 업그레이드하는 것이 좋습니다. 즉시 업그레이드할 수 없는 배포 환경에서는 모든 KeycloakSecurityPolicy에 비어 있지 않은 requiredRoles 또는 requiredPermissions를 구성하여 토큰 검증 경로가 실행되도록 하고, 요청 헤더에서 토큰이 예상되지 않는 경우 allowTokenFromHeader를 false로 설정하거나, 정책 앞의 프레임워크 계층에서 토큰 검증을 수행하십시오.
소스
1CVE-2026-53913(Apache Camel camel-keycloak)용 PoC 재현기: KeycloakSecurityPolicy가 기본 설정(Basic Setup)에서 fail-open 상태로 실패합니다 — 필수 역할/권한이 없으면 토큰이 전혀 검증되지 않으므로, 위조되거나 잘못된 bearer 토큰으로 인증을 우회할 수 있습니다(비인증 RCE). 4.18.3/4.21.0에서 수정되었습니다.
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.