
CVE-2026-53913(Apache Camel camel-keycloak)용 PoC 재현기: KeycloakSecurityPolicy가 기본 설정(Basic Setup)에서 fail-open 상태로 실패합니다 — 필수 역할/권한이 없으면 토큰이 전혀 검증되지 않으므로, 위조되거나 잘못된 bearer 토큰으로 인증을 우회할 수 있습니다(비인증 RCE). 4.18.3/4.21.0에서 수정되었습니다.
동일한 Apache Camel 취약점에 대한 실행 가능한 개념 증명(PoC) 재현 코드로, 런타임별로 하나씩 제공됩니다:
| 런타임 | 디렉터리 | 스택 |
|---|---|---|
| Camel Spring Boot | camel-spring-boot/ | Spring Boot 3.2.0 + camel-spring-boot 4.18.2 |
| Camel Quarkus | camel-quarkus/ | Quarkus 3.36.0 + Camel Quarkus 3.36.0 (Camel 4.20.0 번들 포함) |
두 버전 모두 영향을 받는 버전이며(4.18.3 / 4.21.0에서 수정됨), 둘 다 동일한 결함을 보여줍니다:
KeycloakSecurityPolicy은 문서화된 "기본 설정(Basic Setup)"에서 필수 역할/권한이 없을 때 제시된 토큰을 전혀 검증하지 않습니다 — 토큰에 대해 null이 아닌지만 확인합니다. 모든 가비지 또는 위조된 bearer 값이 보호된 라우트에 도달하며, 해당 라우트가 코드 실행 싱크로 전달되면 결과적으로 인증되지 않은 원격 코드 실행(CWE-287 / CWE-306 / CWE-636)이 발생합니다. 이는 2026년 배치에서 가장 심각한 문제입니다. (Spring Boot 변형은 exec 컴포넌트를 구동하며, Quarkus 변형은 동등한 프로세서를 구동합니다.)
각 하위 디렉터리는 자체 Dockerfile, docker-compose.yml 및 README를 포함하는 독립적인 프로젝트입니다. 간단히 말해, 둘 다 다음과 같이 실행합니다:
cd camel-spring-boot # or: cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down
보안 공지: https://camel.apache.org/security/CVE-2026-53913.html
이 재현 코드는 공개적으로 공개되었고 수정된 취약점에 대해 보안 연구 및 승인된 테스트 전용으로 제공됩니다. 명시적 허가 없이 시스템에 사용하지 마십시오.
| 속성 | 값 |
|---|
| 컴포넌트 | camel-keycloak (Spring Boot: camel-keycloak-starter; Quarkus: camel-quarkus-keycloak) |
| CWE | CWE-287 (Improper Authentication) / CWE-306 (Missing Authentication) / CWE-636 (Not Failing Securely) |
| 영향 | 인증 전 우회; 보호된 라우트가 코드 실행 싱크로 전달될 때 인증되지 않은 RCE |
| 영향을 받는 버전 | 4.15.0부터 4.18.3 이전, 4.19.0부터 4.21.0 이전 |
| 수정된 버전 | 4.18.3, 4.21.0 |
| JIRA | CAMEL-23738 (PR apache/camel#23958) |
| 발견자 | Lidor Ben Shitrit (Novee Security) |