CVE-2023-35945CWE-400CWE-459denial-of-service

CVE-2023-35945

High · published July 14, 2023

CVSS v3.1
7.5
EPSS
2%
Percentile
76.4
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.01652 · 76.4th percentile
Weaknesses
CWE-400 · Uncontrolled Resource Consumption; CWE-459 · Incomplete Cleanup
Published
2023-07-14T01:15Z
Affected products (5)
ProductVersionsFixed in
envoyproxy/envoy< 1.23.111.23.11
envoyproxy/envoy≥ 1.24.0, < 1.24.91.24.9
envoyproxy/envoy≥ 1.25.0, < 1.25.81.25.8
envoyproxy/envoy≥ 1.26.0, < 1.26.31.26.3
nghttp2/nghttp2< 1.55.11.55.1
References (6)
EPSS history
Timeline
  • 13 JUL 20:41Z
    Envoy vulnerable to HTTP/2 memory leak in nghttp2 codec
    cvelistv5