🇰🇷 한글 설명
Steeltoe 4.0.0부터 4.3.0 버전 사이의 ConsulDiscoveryClient에서 발생하는 취약점입니다. Consul 서비스 등록 시 보안 메타데이터에 true/false가 아닌 값을 입력하면 예외가 발생하여 전체 서비스 인스턴스 목록 조회가 중단되고 대상 서비스가 검색되지 않는 서비스 거부(DoS) 상태가 발생할 수 있습니다.
💡 쉬운 설명
서비스 목록을 불러올 때 잘못된 데이터 하나가 섞여 있으면 전체 목록을 읽지 못하게 만드는 오류입니다. 공격자가 잘못된 값을 입력하면 시스템이 정상적인 서비스를 찾지 못하게 방해할 수 있습니다.
🇺🇸 원문 (English)
Steeltoe is an open source project that provides a collection of libraries that helps users build cloud-native applications. From 4.0.0 until 4.3.0, ConsulDiscoveryClient constructs ConsulServiceInstance objects by parsing each registration's secure metadata with a strict Boolean conversion. A principal that can register a Consul service can supply a secure value other than true or false, causing the exception from one instance to abort construction of the entire instance list and make the targeted service undiscoverable. When GetAllInstancesAsync enumerates all services, one malformed instance can abort enumeration across every service. The outage persists until the offending registration is removed. This issue is fixed in version 4.3.0.
📍 영향받는 시스템
Steeltoe (ConsulDiscoveryClient) 4.0.0 ~ 4.3.0
⚔️ 공격 벡터
Consul 서비스 등록 권한을 가진 사용자가 보안 메타데이터에 잘못된 형식의 값을 입력하여 예외 유도
🛡️ 대응 방법
Steeltoe 라이브러리를 4.3.0 이상의 버전으로 업데이트
🔧 검증 코드
출력된 결과에서 steeltoe 라이브러리의 버전이 4.3.0 미만인지 확인
mvn dependency:list | grep steeltoe