🇰🇷 한글 설명
Apache Camel Mina 컴포넌트에서 교환 처리 실패 시 예외 메시지를 원격 피어에게 그대로 전송하여 민감한 정보가 노출되는 취약점입니다. 이로 인해 클래스 이름, 패키지 경로, 호스트 이름 및 연결 세부 정보와 같은 내부 배포 정보가 공격자에게 유출될 수 있습니다.
💡 쉬운 설명
시스템에 오류가 발생했을 때, 그 오류 내용을 외부 사용자에게 너무 자세하게 알려주는 보안 결함입니다. 공격자는 이 정보를 통해 시스템 내부의 구조나 중요한 경로 정보를 알아낼 수 있습니다.
🇺🇸 원문 (English)
Generation of Error Message Containing Sensitive Information vulnerability in Apache Camel Mina component.
This issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before 4.22.1.
When processing of an exchange failed, the Mina consumer wrote exchange.getException() straight back over the socket to the remote peer. Over a textline codec that hands the peer the exception's class name and message; over the object codec it hands over the serialised exception, cause chain included. A remote peer able to provoke a failure could therefore read internal detail about the deployment - class and package names, and whatever a message or nested cause happens to carry, which in practice can include paths, host names and connection detail. The consumer had no option to suppress this, unlike the HTTP-family consumers aligned by CAMEL-23651.
Upgrade to Apache Camel 4.23.0, which fixes the issue. Users on the 4.18.x LTS releases stream should upgrade to 4.18.5. Users on the 4.22.x LTS releases stream should upgrade to 4.22.1. A muteException consumer option, defaulting to true, replaces the route exception with a generic one carrying no class name, message or stack trace, while still writing a reply so that a synchronous peer is not left to time out. Set muteException=false to restore the previous behaviour. For deployments that cannot upgrade immediately, add an onException handler that sets the reply body explicitly, so the framework never writes the exception back to the peer.
📍 영향받는 시스템
Apache Camel 4.0.0 ~ 4.18.4, 4.19.0 ~ 4.22.0
⚔️ 공격 벡터
원격 공격자가 의도적으로 오류를 유발하여 시스템이 반환하는 예외 메시지 및 직렬화된 데이터를 수집함
🛡️ 대응 방법
Apache Camel을 4.23.0, 4.18.5 또는 4.22.1 버전 이상으로 업그레이드하거나 muteException 옵션을 true로 설정함
🔧 검증 코드
출력된 결과에서 camel-mina의 버전이 취약한 범위(4.0.0~4.18.4 또는 4.19.0~4.22.0)에 해당하는지 확인합니다.
mvn dependency:list | grep -E 'camel-mina'