🔍 CVE-2026-46457

7.5
CVSS Score
HIGH
2026-07-06
2026-10-25 15:10
✅ 완료

🇰🇷 한글 설명

Apache Camel의 NATS 컴포넌트에서 입력값 검증 미흡으로 인해 발생하는 취약점입니다. NATS 메시지 헤더를 Camel Exchange로 매핑할 때 필터링 규칙이 기본적으로 설정되어 있지 않아, 공격자가 Camel 내부 제어 헤더를 주입하여 다운스트림 프로듀서의 동작을 조작할 수 있습니다.

💡 쉬운 설명

메시지를 전달할 때 시스템이 사용하는 중요한 명령어를 공격자가 가짜 메시지에 섞어 보낼 수 있는 문제입니다. 이를 통해 파일 이름을 바꾸거나 데이터가 가는 경로를 마음대로 변경할 수 있습니다.

🇺🇸 원문 (English)

Improper Input Validation vulnerability in Apache Camel NATS component. The camel-nats component maps inbound NATS message headers into the Camel Exchange but defaulted its headerFilterStrategy to a bare new DefaultHeaderFilterStrategy() with no inbound rules configured (NatsConfiguration). With no inFilter, inFilterPattern or inFilterStartsWith set, DefaultHeaderFilterStrategy.applyFilterToExternalHeaders returns not filtered for every header name, so NatsConsumer copies every NATS message header - including Camel-internal control headers such as CamelHttpUri, CamelFileName or CamelSqlQuery - unmodified onto the Camel message. A client able to publish to the consumed NATS subject can therefore inject arbitrary Camel control headers that influence the behaviour of downstream producers in the route (for example redirecting an HTTP producer, changing a file name, or overriding a query); the injected headers also persist across internal direct, seda and vm hops. The concrete downstream impact depends on which producers the route uses. NATS message headers require NATS 2.2 or later, and the issue is reachable without credentials when the NATS server is configured without authentication (the NATS server default). This issue affects Apache Camel: from 4.0.0 before 4.14.8, from 4.15.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.14.x LTS releases stream, then they are suggested to upgrade to 4.14.8. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.3. The fix makes camel-nats default to a dedicated NatsHeaderFilterStrategy that filters the Camel header namespace case-insensitively on inbound mapping, so client-supplied Camel* / camel* headers are no longer copied into the Exchange. For deployments that cannot upgrade immediately, strip the Camel control headers from inbound NATS messages before they reach any downstream producer (for example removeHeaders('Camel*') and removeHeaders('camel*') at the start of the route), and enable authentication on the NATS server so that only trusted clients can publish to the consumed subject.

📍 영향받는 시스템

Apache Camel: 4.0.0 ~ 4.14.7, 4.15.0 ~ 4.18.2, 4.19.0 ~ 4.20.x

⚔️ 공격 벡터

인증되지 않은 NATS 서버에 접근하여 Camel 제어 헤더(Camel*)가 포함된 악의적인 NATS 메시지를 발행(Publish)함

🛡️ 대응 방법

Apache Camel을 4.21.0, 4.18.3 또는 4.14.8 이상의 보안 패치 버전으로 업그레이드하거나, 라우트 시작 시 Camel 헤더를 제거하도록 설정함

🔧 검증 코드

출력된 결과에서 camel-nats의 버전이 취약한 범위(4.0.0~4.14.7, 4.15.0~4.18.2, 4.19.0~4.20.x)에 해당하는지 확인합니다.

Shell / Script
mvn dependency:list | grep 'camel-nats'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

WP Maps Pro