🇰🇷 한글 설명
Go 언어로 작성된 Telegram MTProto API 클라이언트인 gotd/td의 취약점입니다. 인증되지 않은 MTProto 패킷의 dataLen 값을 검증 없이 사용하여 과도한 메모리를 할당함으로써 원격에서 서비스 거부(DoS) 공격이 가능합니다. 이 문제는 0.145.1 버전에서 수정되었습니다.
💡 쉬운 설명
해커가 조작된 데이터를 보내 프로그램이 감당할 수 없을 만큼의 메모리를 사용하게 만들어 컴퓨터를 멈추게 할 수 있습니다. 이로 인해 서비스가 중단되는 현상이 발생할 수 있습니다.
🇺🇸 원문 (English)
gotd/td is a T Telegram MTProto API client in Go. Prior to 0.145.1, proto.UnencryptedMessage.Decode in proto/unencrypted_message.go read attacker controlled dataLen from an unauthenticated MTProto unencrypted packet and allocated make([]byte, dataLen) before checking the remaining buffer, allowing remote unauthenticated denial of service through excessive memory allocation and CPU or garbage collection pressure. This issue is fixed in version 0.145.1.
📍 영향받는 시스템
gotd/td version < 0.145.1
⚔️ 공격 벡터
인증되지 않은 MTProto unencrypted packet을 통한 원격 공격
🛡️ 대응 방법
gotd/td 라이브러리를 0.145.1 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 gotd/td의 버전을 확인하여 0.145.1 미만인지 체크합니다.
go list -m all | grep gotd/td