🔍 CVE-2026-46726

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

🇰🇷 한글 설명

Apache Camel의 Vertx Websocket 컴포넌트에서 입력값 검증 미흡으로 인해 발생하는 SSRF 및 민감 정보 노출 취약점입니다. 공격자가 WebSocket 쿼리 파라미터를 통해 Camel 내부 제어 헤더를 주입함으로써 서버 측 요청을 조작하고, 프로퍼티 플레이스홀더를 이용해 환경 변수나 비밀번호와 같은 민감한 정보를 탈취할 수 있습니다.

💡 쉬운 설명

웹소켓을 통해 들어오는 데이터를 제대로 검사하지 않아, 공격자가 서버에게 가짜 명령을 내릴 수 있는 보안 구멍입니다. 이를 통해 서버 내부의 중요한 정보나 비밀번호를 몰래 빼낼 수 있습니다.

🇺🇸 원문 (English)

Improper Input Validation, Exposure of Sensitive Information to an Unauthorized Actor, Server-Side Request Forgery (SSRF) vulnerability in Apache Camel in Vertx Websocket component. The camel-vertx-websocket consumer mapped inbound WebSocket query and path parameters into the Camel Exchange header map without applying any HeaderFilterStrategy (VertxWebsocketConsumer.populateExchangeHeaders()). Because nothing blocked the Camel header namespace, a client connecting to the WebSocket endpoint could set Camel-internal control headers - including CamelHttpUri (Exchange.HTTP_URI) - simply by supplying them as query parameters. In a route where the WebSocket consumer feeds a downstream HTTP producer, the injected CamelHttpUri redirects the server-side HTTP request to an attacker-chosen destination (server-side request forgery - for example to an internal service or a cloud metadata endpoint). In addition, the HTTP producer resolves Camel property placeholders on the resulting (attacker-controlled) URI, so placeholders embedded in the injected value - such as an environment-variable reference, an application property, or a vault reference - are resolved to their real values and sent to the attacker, disclosing environment variables, application properties and vault secrets. When the WebSocket endpoint is exposed without authentication, this is reachable by an unauthenticated remote attacker. 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 the affected consumers apply a HeaderFilterStrategy that filters the Camel header namespace case-insensitively on inbound mapping, so externally-supplied Camel* / camel* headers are no longer copied into the Exchange. For deployments that cannot upgrade immediately, strip the Camel control headers from the inbound message before they reach any downstream producer (for example removeHeaders('Camel*') and removeHeaders('camel*') at the start of the route), require authentication on the WebSocket endpoint, and avoid bridging an untrusted consumer directly into an HTTP producer whose target URI can be driven from message headers.

📍 영향받는 시스템

Apache Camel: 4.0.0 ~ 4.14.7, 4.15.0 ~ 4.18.2, 4.19.0 ~ 4.20.9

⚔️ 공격 벡터

인증되지 않은 원격 공격자가 WebSocket 연결 시 조작된 쿼리 파라미터를 전송하여 Camel 내부 헤더를 주입함

🛡️ 대응 방법

Apache Camel을 4.21.0, 4.14.8, 또는 4.18.3 이상의 보안 패치 버전으로 업그레이드하십시오.

🔧 검증 코드

출력된 결과에서 사용 중인 Apache Camel의 버전을 확인하여 취약한 버전 범위에 포함되는지 체크합니다.

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

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Apache HTTP Server