Envoy vulnerable to HTTP/2 memory leak in nghttp2 codec
Summary
| CVE | CVE-2023-35945 |
|---|---|
| State | PUBLISHED |
| Assigner | GitHub_M |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2023-07-13 21:15:08 UTC |
| Updated | 2026-10-15 00:16:33 UTC |
| Description | 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. |
Risk And Classification
Primary CVSS: v3.1 7.5 HIGH from [email protected]
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Problem Types: CWE-400 | CWE-459 | CWE-400 CWE-400: Uncontrolled Resource Consumption
| Version | Source | Type | Score | Severity | Vector |
|---|---|---|---|---|---|
| 3.1 | [email protected] | Primary | 7.5 | HIGH | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| 3.1 | [email protected] | Secondary | 7.5 | HIGH | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| 3.1 | CNA | DECLARED | 7.5 | HIGH | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
CVSS v3.1 Breakdown
Attack Vector
NetworkAttack Complexity
LowPrivileges Required
NoneUser Interaction
NoneScope
UnchangedConfidentiality
NoneIntegrity
NoneAvailability
HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
NVD Known Affected Configurations (CPE 2.3)
| Type | Vendor | Product | Version | Update | Edition | Language |
|---|---|---|---|---|---|---|
| Application | Envoyproxy | Envoy | All | All | All | All |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | Envoyproxy | Envoy | affected >= 1.26.0, < 1.26.3 | Not specified |
| CNA | Envoyproxy | Envoy | affected >= 1.25.0, < 1.25.8 | Not specified |
| CNA | Envoyproxy | Envoy | affected >= 1.24.0, < 1.24.9 | Not specified |
| CNA | Envoyproxy | Envoy | affected >= 1.23.0, < 1.23.11 | Not specified |
| ADP | Siemens | SIMATIC S7-1500 CPU 1518-4 PN/DP MFP | affected V3.1.0 V3.1.5 custom | Not specified |
| ADP | Siemens | SIMATIC S7-1500 CPU 1518-4 PN/DP MFP | affected V3.1.0 V3.1.5 custom | Not specified |
| ADP | Siemens | SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP | affected V3.1.0 V3.1.5 custom | Not specified |
| ADP | Siemens | SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP | affected V3.1.0 V3.1.5 custom | Not specified |
| ADP | Siemens | SIPLUS S7-1500 CPU 1518-4 PN/DP MFP | affected V3.1.0 V3.1.5 custom | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| cert-portal.siemens.com/productcert/html/ssa-398330.html | 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e | cert-portal.siemens.com | |
| github.com/nghttp2/nghttp2/blob/e7f59406556c80904b81b593d38508591bb7523a... | af854a3a-2127-422b-91ae-364da2661108 | github.com | Product |
| HTTP/2 memory leak in nghttp2 codec · Advisory · envoyproxy/envoy · GitHub | af854a3a-2127-422b-91ae-364da2661108 | github.com | Vendor Advisory |
| cert-portal.siemens.com/productcert/html/ssa-943925.html | 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e | cert-portal.siemens.com | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
No vendor comments have been submitted for this CVE.
Legacy QID Mappings
- 355759 Amazon Linux Security Advisory for nghttp2 : ALAS-2023-1793
- 355779 Amazon Linux Security Advisory for nghttp2 : ALAS2-2023-2180
- 355802 Amazon Linux Security Advisory for nodejs : ALAS2023-2023-290
- 355811 Amazon Linux Security Advisory for nghttp2 : ALAS2023-2023-278
- 355870 Amazon Linux Security Advisory for ecs-service-connect-agent : ALAS2023-2023-300
- 503044 Alpine Linux Security Update for nghttp2
- 503048 Alpine Linux Security Update for nghttp2
- 503051 Alpine Linux Security Update for nghttp2
- 673636 EulerOS Security Update for nghttp2 (EulerOS-SA-2023-3346)
- 673794 EulerOS Security Update for nghttp2 (EulerOS-SA-2023-3224)
- 673870 EulerOS Security Update for nghttp2 (EulerOS-SA-2023-3038)
- 673906 EulerOS Security Update for nghttp2 (EulerOS-SA-2023-3189)
- 673934 EulerOS Security Update for nghttp2 (EulerOS-SA-2023-3015)
- 674095 EulerOS Security Update for nghttp2 (EulerOS-SA-2023-3314)
- 754949 SUSE Enterprise Linux Security Update for nghttp2 (SUSE-SU-2023:3842-1)
- 755049 SUSE Enterprise Linux Security Update for nghttp2 (SUSE-SU-2023:3997-1)
- 755101 SUSE Enterprise Linux Security Update for nghttp2 (SUSE-SU-2023:4102-1)
- 907095 Common Base Linux Mariner (CBL-Mariner) Security Update for nghttp2 (27682-1)
- 907279 Common Base Linux Mariner (CBL-Mariner) Security Update for cmake (27667-1)
- 907304 Common Base Linux Mariner (CBL-Mariner) Security Update for nodejs18 (27683-1)
- 907330 Common Base Linux Mariner (CBL-Mariner) Security Update for nodejs (27650-1)