🔍 CVE-2023-35945

7.5
CVSS Score
HIGH
2023-07-13
2026-10-15 00:16
✅ 완료

🇰🇷 한글 설명

Envoy의 HTTP/2 코덱에서 상위 서버로부터 RST_STREAM 프레임 직후 GOAWAY 프레임을 수신할 경우 헤더 맵과 장부 구조가 유출될 수 있습니다. nghttp2 라이브러리에서 GOAWAY 수신 시 대기 중인 요청의 정리 과정 중 메모리 해제 단계가 누락되어 메모리 누수가 발생합니다. 이로 인해 메모리 고갈을 통한 서비스 거부(DoS) 공격이 가능합니다.

💡 쉬운 설명

특정한 네트워크 신호를 연속으로 보내면 프로그램이 사용한 메모리를 제대로 돌려주지 않고 계속 쌓아두게 됩니다. 이 현상이 반복되면 컴퓨터의 메모리가 가득 차서 서비스가 멈출 수 있습니다.

🇺🇸 원문 (English)

Envoy is a cloud-native high-performance edge/middle/service proxy. Envoy’s HTTP/2 codec may leak a header map and bookkeeping structures upon receiving `RST_STREAM` immediately followed by the `GOAWAY` frames from an upstream server. In nghttp2, cleanup of pending requests due to receipt of the `GOAWAY` frame skips de-allocation of the bookkeeping structure and pending compressed header. The error return [code path] is taken if connection is already marked for not sending more requests due to `GOAWAY` frame. The clean-up code is right after the return statement, causing memory leak. Denial of service through memory exhaustion. This vulnerability was patched in versions(s) 1.26.3, 1.25.8, 1.24.9, 1.23.11.

📍 영향받는 시스템

Envoy versions prior to 1.26.3, 1.25.8, 1.24.9, 1.23.11

⚔️ 공격 벡터

상위 서버로부터 RST_STREAM 프레임 직후 GOAWAY 프레임을 전송하여 메모리 누수를 유도하는 방식

🛡️ 대응 방법

Envoy를 패치된 버전(1.26.3, 1.25.8, 1.24.9, 1.23.11 이상)으로 업데이트하십시오.

🔧 검증 코드

출력된 Envoy의 버전을 확인하여 취약점이 해결된 패치 버전 이상인지 대조합니다.

Shell / Script
envoy --version 2>/dev/null || dpkg -l | grep envoy

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Envoy