
CVE-2026-49098(Apache Camel camel-kafka)용 PoC 재현기: Camel 접두사가 없는 `kafka.OVERRIDE_TOPIC` 헤더는 업스트림 HTTP 헤더 필터를 우회하여 프로듀서에 구성된 토픽을 재정의하고, 공격자가 위조한 레코드를 권한 있는 Kafka 토픽에 주입합니다(교차 토픽 주입). 4.14.8/4.18.3/4.21.0에서 수정되었습니다.
kafka.OVERRIDE_TOPIC 헤더 인젝션동일한 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.14.8 / 4.18.3 / 4.21.0에서 수정됨), 둘 다 동일한
결함을 보여줍니다: KafkaProducer.evaluateTopic()은 Camel 접두사가 붙지 않은 kafka.OVERRIDE_TOPIC 헤더를 읽고 이를
엔드포인트에 구성된 토픽보다 우선합니다. 이는 HTTP 헤더 필터(Spring Boot의 서블릿 platform-http 및
Quarkus의 Vert.x platform-http 모두)를 우회하고, 생산된 레코드를 공격자가 선택한 토픽으로 이동시킵니다 — 교차 토픽
인젝션(CWE-20 → CWE-74).
각 하위 디렉터리는 자체 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-49098.html
이 재현기들은 보안 연구 및 승인된 테스트 전용으로, 공개적으로 공개되고 수정된 취약점을 위해 제공됩니다. 명시적 허가 없이 시스템을 대상으로 사용하지 마십시오.
| 속성 | 값 |
|---|
| 구성 요소 | camel-kafka (Spring Boot: camel-kafka-starter; Quarkus: camel-quarkus-kafka) |
| CWE | CWE-20 (부적절한 입력 검증) / CWE-74 (인젝션) |
| 영향 | 생산된 레코드를 임의의 Kafka 토픽으로 리디렉션/인젝션 |
| 영향받는 버전 | 4.0.0 이상 4.14.8 미만, 4.15.0 이상 4.18.3 미만, 4.19.0 이상 4.21.0 미만 |
| 수정된 버전 | 4.14.8, 4.18.3, 4.21.0 |
| JIRA | CAMEL-23584 (PR apache/camel#23602) |
| 공로 | Yu Bao (PayPal) |