🇰🇷 한글 설명
Apache Camel HTTP 컴포넌트에서 OAuth2 클라이언트 토큰 캐시 키가 스코프, 리소스 인디케이터, 토큰 엔드포인트 정보를 누락하여 발생하는 보안 취약점입니다. 이로 인해 서로 다른 권한을 가진 엔드포인트가 동일한 캐시 항목을 공유하게 되어, 의도치 않게 더 넓은 권한을 가진 토큰이 사용될 수 있습니다.
💡 쉬운 설명
로그인 정보를 저장하는 보관함에 이름표가 제대로 붙어있지 않아, A라는 사람의 열쇠를 B라는 사람이 잘못 가져다 쓸 수 있는 문제입니다. 이로 인해 원래 허용되지 않은 범위까지 접근할 수 있는 위험이 있습니다.
🇺🇸 원문 (English)
Use of Cache Containing Sensitive Information vulnerability in Apache Camel HTTP component.
This issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before 4.22.1.
The OAuth2 client token cache is global to the JVM, and its key omitted several of the fields that determine what a token actually authorises: the requested scope, the resource indicator, and the token endpoint the token was obtained from. Two endpoints differing only in those fields therefore shared a cache entry, and an endpoint could be served a token minted for a different scope, a different resource, or by a different authorization server. The consequence is a request carrying broader authority than the endpoint was configured for, or a token presented to a party it was not issued for. Reaching it requires a deployment that configures more than one OAuth2 endpoint differing in exactly those fields, which is why the severity is assessed low.
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. The cache key now includes every field that shapes the token, so entries are no longer shared between endpoints that differ in any of them. For deployments that cannot upgrade immediately, run endpoints that differ in scope, resource indicator or token endpoint in separate JVMs so that they do not share the cache.
📍 영향받는 시스템
Apache Camel 4.0.0 ~ 4.18.4, 4.19.0 ~ 4.22.0
⚔️ 공격 벡터
서로 다른 스코프나 리소스를 사용하는 OAuth2 엔드포인트를 동시에 운영하는 환경에서 캐시된 토큰을 탈취하거나 오용
🛡️ 대응 방법
Apache Camel 4.23.0, 4.18.5 또는 4.22.1 버전 이상으로 업그레이드
🔧 검증 코드
출력된 결과에서 camel-http의 버전을 확인하여 취약한 버전 범위에 해당하는지 체크합니다.
mvn dependency:list | grep 'camel-http'