🇰🇷 한글 설명
github.com/temporalio/ringpop-go에서 SWIM 멤버십 변경 시 수신된 라벨 맵에 대해 설정된 LabelOptions 제한을 적용하지 않는 취약점이 발견되었습니다. 공격자는 이를 악용하여 설정된 범위를 초과하는 라벨 정보를 반복적으로 전송함으로써 메모리 및 가십 대역폭 소비를 급증시키고 프로세스를 중단시킬 수 있습니다.
💡 쉬운 설명
네트워크를 통해 전달되는 정보의 양을 제한하는 규칙이 제대로 작동하지 않는 문제입니다. 공격자가 가짜 정보를 엄청나게 많이 보내면 시스템의 메모리가 가득 차서 프로그램이 멈출 수 있습니다.
🇺🇸 원문 (English)
github.com/temporalio/ringpop-go enforces configured LabelOptions limits when an application changes the local node's labels, but affected versions do not apply those limits to label maps received in SWIM membership changes. A network peer that can reach a live Ringpop TChannel listener can repeatedly submit changes for distinct member addresses containing label keys, values, or counts that exceed the receiver's configured limits. Accepted labels are retained in the member list and disseminated to peers, allowing memory and gossip-bandwidth consumption to exceed configured bounds and potentially making the hosting process unavailable. The fix validates peer-supplied label maps before they are retained or disseminated. Availability only; no confidentiality or integrity impact was identified.
📍 영향받는 시스템
github.com/temporalio/ringpop-go (패치 적용 전 버전)
⚔️ 공격 벡터
Ringpop TChannel 리스너에 접근 가능한 네트워크 피어가 제한을 초과하는 라벨 정보를 포함한 멤버십 변경 요청을 반복 전송
🛡️ 대응 방법
피어로부터 수신된 라벨 맵을 저장하거나 전파하기 전에 유효성을 검증하도록 라이브러리를 최신 버전으로 업데이트
🔧 검증 코드
출력된 버전이 보안 패치가 적용된 최신 버전인지 확인하십시오.
go list -m github.com/temporalio/ringpop-go