CVE-2026-97031:
Go 취약성 분석 및 완화
개요
CVE-2026-97031 is a Denial of Service vulnerability in Go's crypto/tls standard library package, caused by improper handling of multiple ECH (Encrypted Client Hello) outer extension references during TLS handshakes. RFC 9849 prohibits multiple ECH outer extension references, but prior to the fix, a remote unauthenticated attacker could send a well-crafted packet specifying multiple such references, triggering memory exhaustion in the server process. The vulnerability affects Go versions before 1.26.9 and versions 1.27.0-0 through 1.27.2. It was published on October 8, 2026, and carries a CVSS v3.1 base score of 7.5 (High) (Red Hat Advisory, Github Advisory).
기술적 세부 사항
The root cause is classified under CWE-770 (Allocation of Resources Without Limits or Throttling) and CWE-405 (Asymmetric Resource Consumption / Amplification). The Go crypto/tls implementation previously did not validate that ECH outer extension references appeared only once per TLS ClientHello, as required by RFC 9849. An attacker could craft a TLS handshake packet containing multiple ECH outer extension references, causing the server to repeatedly copy outer extensions and exhaust available memory — a classic amplification pattern where minimal attacker input produces disproportionate server-side resource consumption. The fix rejects such packets as malformed before the amplification can occur (Red Hat Bugzilla, Go Issue).
영향
Successful exploitation results in memory exhaustion of the affected server process, leading to a denial of service condition. There is no confidentiality or integrity impact — the vulnerability is purely an availability concern. Any Go-based server application using the crypto/tls package with ECH support enabled and exposed to network traffic is at risk, including web servers, API gateways, and other TLS-terminating services built with affected Go versions (Github Advisory, Red Hat Advisory).
악용 가능성
No public proof-of-concept exploit code is known to exist, and there is no evidence of active in-the-wild exploitation at this time (Github Advisory). The vulnerability is rated automatable (no user interaction or privileges required), making it straightforward to exploit at scale against exposed services. The EPSS score is approximately 0.179–0.394%, placing it in the lower-to-mid range of exploitation likelihood within 30 days. The CVE is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. No specific threat actor attribution has been reported (Red Hat Advisory).
착취 단계
- Reconnaissance: Identify internet-facing services built with Go's
crypto/tlsthat support ECH (Encrypted Client Hello), using tools like Shodan, Censys, or ZGrab2 to scan for TLS services and banner-grab Go version information. - Craft malicious ClientHello: Construct a TLS ClientHello packet that includes multiple ECH outer extension references in violation of RFC 9849. This can be done using low-level TLS packet crafting libraries (e.g., Python's
scapywith TLS extensions, or a custom Go client). - Send packet to target: Transmit the malformed ClientHello to the target server's TLS port (typically 443). No authentication or prior session is required.
- Trigger memory amplification: The vulnerable server processes the multiple ECH outer extension references, copying outer extensions repeatedly and consuming server memory without bound.
- Achieve denial of service: Repeated or sustained sending of such packets exhausts server memory, causing the server process to crash or become unresponsive (Red Hat Bugzilla, Go Issue).
타협의 징후
- Network: Unusual volume of TLS ClientHello packets from a single or distributed source IP(s) targeting TLS-enabled ports; ClientHello packets with anomalous or repeated ECH extension fields detectable via deep packet inspection or TLS-aware IDS rules.
- Logs: Server-side TLS handshake errors or abrupt connection resets logged in application or system logs; Go runtime out-of-memory (OOM) errors or panic messages in application logs referencing
crypto/tls. - Process: Rapid or sustained growth in memory usage of the Go server process (observable via
top,htop, or monitoring tools like Prometheus); OOM killer events in system logs (dmesgor/var/log/syslog) terminating the Go server process.
완화 및 해결 방법
Upgrade to Go 1.26.9 or Go 1.27.2 (or later), which reject malformed ECH outer extension references before memory amplification can occur (Red Hat Bugzilla, Go Vulnerability DB). As a temporary workaround, consider placing a TLS-terminating reverse proxy (e.g., nginx, HAProxy) in front of Go-based services to filter malformed TLS handshakes before they reach the vulnerable application. Additionally, rate-limiting incoming TLS connections at the network or firewall level can reduce the impact of exploitation attempts. SUSE has also released updated packages (SUSE-SU-2026:4625-1 and SUSE-SU-2026:4629-1) for affected distributions (SUSE Advisory).
커뮤니티 반응
The vulnerability was announced via the golang-announce mailing list and tracked under Go vulnerability identifier GO-2026-6607. Red Hat assigned it high severity and opened a Bugzilla tracking entry with a broad CC list of 76 product security engineers, indicating wide internal impact assessment across Red Hat's Go-based product portfolio. Microsoft also acknowledged the CVE in its October 2026 Patch Tuesday advisory cycle. Security vendors including Tenable (Nessus, cloud, and container security plugins) and Qualys have released detection plugins for the vulnerability (Red Hat Bugzilla, Microsoft MSRC).
추가 자료
리눅스 배포판 수정 현황
주요 리눅스 배포판과 그 릴리스 전반에 걸친 가용성을 수정하세요.
bionic (esm-apps)
golang-1.8
bionic (esm-infra)
golang-1.10
devel
golang-1.26
focal (esm-apps)
golang-1.16
focal (esm-infra)
golang-1.13
jammy
golang-1.13
jammy (esm-apps)
golang-1.13
noble
golang-1.21
OpenShift
butane.src
RHEL 8
container-tools:rhel8/toolbox.src
RHEL 9
git-lfs.src
RHEL 10
delve.src
근원: 이 보고서는 AI를 사용하여 생성되었습니다.
관련 Go 취약점:
무료 취약성 평가
클라우드 보안 태세를 벤치마킹합니다
9개의 보안 도메인에서 클라우드 보안 관행을 평가하여 위험 수준을 벤치마킹하고 방어의 허점을 식별합니다.
추가 Wiz 리소스
맞춤형 데모 받기
맞춤형 데모 신청하기
"내가 본 최고의 사용자 경험은 클라우드 워크로드에 대한 완전한 가시성을 제공합니다."
"Wiz는 클라우드 환경에서 무슨 일이 일어나고 있는지 볼 수 있는 단일 창을 제공합니다."
"우리는 Wiz가 무언가를 중요한 것으로 식별하면 실제로 중요하다는 것을 알고 있습니다."