🔍 CVE-2026-84304

0.0
CVSS Score
UNKNOWN
2026-09-01
2026-09-09 21:09
✅ 완료

🇰🇷 한글 설명

gRPC-Go 1.83.1 미만 버전에서 HTTP/2 DATA 프레임을 처리할 때 각 조각을 별도의 수신 메시지로 저장하여 과도한 힙 메모리를 소비하는 취약점이 존재합니다. 인증되지 않은 원격 공격자가 다중화된 스트림을 통해 메모리를 고갈시켜 프로세스 중단이나 OOM(Out-of-Memory) 오류를 유발할 수 있습니다.

💡 쉬운 설명

공격자가 아주 작은 크기의 데이터를 수많은 조각으로 나누어 보내면, 서버가 이를 처리하는 과정에서 메모리를 엄청나게 많이 사용하게 됩니다. 이로 인해 서버의 메모리가 가득 차서 프로그램이 갑자기 꺼질 수 있습니다.

🇺🇸 원문 (English)

gRPC-Go is the Go language implementation of gRPC. Prior to 1.83.1, internal/transport/transport.go stores each fragmented HTTP/2 DATA frame as a separate recvMsg in recvBuffer, so millions of one-byte frames can consume disproportionate heap memory even when payload bytes remain within connection and stream flow-control windows. An unauthenticated remote attacker can use concurrent multiplexed streams to exhaust process memory and cause a runtime panic or out-of-memory termination. Receive-buffer compaction is enabled by default and can be controlled temporarily with GRPC_GO_EXPERIMENTAL_ENABLE_RECEIVE_BUFFER_COMPACTION. This issue is fixed in version 1.83.1.

📍 영향받는 시스템

gRPC-Go 1.83.1 미만 모든 버전

⚔️ 공격 벡터

인증되지 않은 원격 공격자가 다중화된 HTTP/2 스트림을 통해 조각난 프레임을 대량으로 전송

🛡️ 대응 방법

gRPC-Go 버전을 1.83.1 이상으로 업데이트하거나 GRPC_GO_EXPERIMENTAL_ENABLE_RECEIVE_BUFFER_COMPACTION 설정을 검토하십시오.

🔧 검증 코드

출력된 버전이 v1.83.1 미만이면 해당 취약점에 노출된 상태입니다.

Shell / Script
go list -m github.com/grpc/grpc 2>/dev/null | grep -E 'v1\.[0-8][0-3]\.'

💻 영향받는 소프트웨어

Windows Runtime