🇰🇷 한글 설명
github.com/temporalio/tchannel-go 라이브러리에서 인바운드 TChannel 호출 프레임의 1바이트 체크섬 유형 필드를 검증하지 않는 취약점이 발견되었습니다. 공격자가 지원되지 않는 체크섬 유형을 포함한 요청을 보내면 인덱스 범위를 벗어난 참조로 인해 Go 패닉이 발생하며 프로세스가 종료됩니다. 이로 인해 신뢰할 수 없는 피어에게 리스너를 노출한 애플리케이션에 원격 서비스 거부(DoS) 공격이 가능합니다.
💡 쉬운 설명
특수하게 조작된 데이터를 보내면 프로그램이 예상치 못한 오류를 일으켜 강제로 종료되는 문제입니다. 이로 인해 서비스가 중단되어 정상적인 이용이 불가능해질 수 있습니다.
🇺🇸 원문 (English)
github.com/temporalio/tchannel-go did not validate the one-byte checksum-type field in inbound TChannel call frames. A network peer that can reach a listener can complete the standard initialization handshake and send a call request with an unsupported checksum type. The parser uses that value as an index into a four-entry checksum pool, causing an unrecovered Go panic on the connection read goroutine and terminating the hosting process. This allows remote denial of service against applications that expose the listener to untrusted peers. The impact is limited to availability; no confidentiality or integrity impact was identified.
📍 영향받는 시스템
github.com/temporalio/tchannel-go 라이브러리를 사용하는 모든 시스템
⚔️ 공격 벡터
네트워크를 통해 지원되지 않는 체크섬 유형이 포함된 TChannel 호출 프레임을 전송
🛡️ 대응 방법
tchannel-go 라이브러리를 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 모듈 버전이 취약점이 해결된 버전인지 확인
go list -m github.com/temporalio/tchannel-go