{"id":"CVE-2023-35945","aliases":["ALPINE-CVE-2023-35945","AZL-27650","AZL-27667","AZL-27682","AZL-27683","BELL-CVE-2023-35945","BIT-envoy-2023-35945","CLSA-2026-1777947331","CLSA-2026-1778129164","CLSA-2026-1778148827","CLSA-2026-1788175030","EUVD-2023-39929","GHSA-jfxv-29pc-x22r","JLSEC-2026-2","OESA-2023-1506","SUSE-SU-2023:3842-1","SUSE-SU-2023:3997-1","SUSE-SU-2023:4102-1","openSUSE-SU-2024:13062-1"],"status":"published","title":"Envoy vulnerable to HTTP/2 memory leak in nghttp2 codec","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.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.01652,"percentile":0.76859,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-400","CWE-459"],"published":"2023-07-13T20:41:15Z","modified":"2026-10-28T02:30:23Z","fixes":[{"ecosystem":"Alpine:v3.15","package":"nghttp2","fixed_in":["1.46.0-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.16","package":"nghttp2","fixed_in":["1.47.0-r1"],"sources":["osv"]},{"ecosystem":"Alpine:v3.17","package":"nghttp2","fixed_in":["1.51.0-r1"],"sources":["osv"]},{"ecosystem":"Azure Linux:2","package":"nodejs","fixed_in":["16.20.2-2"],"sources":["osv"]},{"ecosystem":"Azure Linux:2","package":"cmake","fixed_in":["3.21.4-8"],"sources":["osv"]},{"ecosystem":"Azure Linux:2","package":"nghttp2","fixed_in":["1.46.0-3"],"sources":["osv"]},{"ecosystem":"Azure Linux:2","package":"nodejs18","fixed_in":["18.17.1-2"],"sources":["osv"]},{"ecosystem":"Bitnami","package":"envoy","fixed_in":["1.23.11","1.24.9","1.25.8","1.26.3"],"sources":["osv"]},{"ecosystem":"TuxCare:Debian:10","package":"libnghttp2-14","fixed_in":["1.36.0-2+deb10u3+tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:Debian:10","package":"libnghttp2-dev","fixed_in":["1.36.0-2+deb10u3+tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:Debian:10","package":"libnghttp2-doc","fixed_in":["1.36.0-2+deb10u3+tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:Debian:10","package":"nghttp2","fixed_in":["1.36.0-2+deb10u3+tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:Debian:10","package":"nghttp2-client","fixed_in":["1.36.0-2+deb10u3+tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:Debian:10","package":"nghttp2-proxy","fixed_in":["1.36.0-2+deb10u3+tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:Debian:10","package":"nghttp2-server","fixed_in":["1.36.0-2+deb10u3+tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"libnghttp2","fixed_in":["1.43.0-6.el9.tuxcare.els2"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"libnghttp2-devel","fixed_in":["1.43.0-6.el9.tuxcare.els2"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"nghttp2","fixed_in":["1.43.0-6.el9.tuxcare.els2"],"sources":["osv"]},{"ecosystem":"Julia","package":"nghttp2_jll","fixed_in":["1.58.0+0"],"sources":["osv"]},{"ecosystem":"openEuler:20.03-LTS-SP1","package":"nghttp2","fixed_in":["1.41.0-3.oe1"],"sources":["osv"]},{"ecosystem":"openEuler:20.03-LTS-SP3","package":"nghttp2","fixed_in":["1.41.0-4.oe1"],"sources":["osv"]},{"ecosystem":"openEuler:22.03-LTS","package":"nghttp2","fixed_in":["1.46.0-4.oe2203sp2"],"sources":["osv"]},{"ecosystem":"openEuler:22.03-LTS-SP1","package":"nghttp2","fixed_in":["1.46.0-4.oe2203sp1"],"sources":["osv"]},{"ecosystem":"openEuler:22.03-LTS-SP2","package":"nghttp2","fixed_in":["1.46.0-4.oe2203sp2"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Software Development Kit 12 SP5","package":"nghttp2","fixed_in":["1.39.2-3.10.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server 12 SP5","package":"nghttp2","fixed_in":["1.39.2-3.10.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 12 SP5","package":"nghttp2","fixed_in":["1.39.2-3.10.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Micro 5.3","package":"nghttp2","fixed_in":["1.40.0-150200.9.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Micro 5.4","package":"nghttp2","fixed_in":["1.40.0-150200.9.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Micro 5.5","package":"nghttp2","fixed_in":["1.40.0-150200.9.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP4","package":"nghttp2","fixed_in":["1.40.0-150200.9.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP5","package":"nghttp2","fixed_in":["1.40.0-150200.9.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS","package":"nghttp2","fixed_in":["1.40.0-150200.9.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS","package":"nghttp2","fixed_in":["1.40.0-150200.9.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS","package":"nghttp2","fixed_in":["1.40.0-150200.9.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server 15 SP2-LTSS","package":"nghttp2","fixed_in":["1.40.0-150200.9.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server 15 SP3-LTSS","package":"nghttp2","fixed_in":["1.40.0-150200.9.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15 SP2","package":"nghttp2","fixed_in":["1.40.0-150200.9.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15 SP3","package":"nghttp2","fixed_in":["1.40.0-150200.9.1"],"sources":["osv"]},{"ecosystem":"SUSE:Manager Proxy 4.2","package":"nghttp2","fixed_in":["1.40.0-150200.9.1"],"sources":["osv"]},{"ecosystem":"SUSE:Manager Server 4.2","package":"nghttp2","fixed_in":["1.40.0-150200.9.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Micro 5.1","package":"nghttp2","fixed_in":["1.40.0-150200.9.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Micro 5.2","package":"nghttp2","fixed_in":["1.40.0-150200.9.1"],"sources":["osv"]},{"ecosystem":"SUSE:Enterprise Storage 7.1","package":"nghttp2","fixed_in":["1.40.0-150200.9.1"],"sources":["osv"]},{"ecosystem":"openSUSE:Leap 15.4","package":"nghttp2","fixed_in":["1.40.0-150200.9.1"],"sources":["osv"]},{"ecosystem":"openSUSE:Leap 15.4","package":"nghttp2-python","fixed_in":["1.40.0-150200.9.1"],"sources":["osv"]},{"ecosystem":"openSUSE:Leap 15.5","package":"nghttp2","fixed_in":["1.40.0-150200.9.1"],"sources":["osv"]},{"ecosystem":"openSUSE:Leap 15.5","package":"nghttp2-python","fixed_in":["1.40.0-150200.9.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS","package":"nghttp2","fixed_in":["1.40.0-150000.3.14.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server 15 SP1-LTSS","package":"nghttp2","fixed_in":["1.40.0-150000.3.14.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15 SP1","package":"nghttp2","fixed_in":["1.40.0-150000.3.14.1"],"sources":["osv"]},{"ecosystem":"openSUSE:Tumbleweed","package":"nghttp2","fixed_in":["1.55.1-1.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Alpine:v3.15","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.46.0-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.16","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.47.0-r1"}]}]},{"source":"osv","ecosystem":"Alpine:v3.17","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.51.0-r1"}]}]},{"source":"osv","ecosystem":"Azure Linux:2","package":"nodejs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"16.20.2-2"}]}]},{"source":"osv","ecosystem":"Azure Linux:2","package":"cmake","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.21.4-8"}]}]},{"source":"osv","ecosystem":"Azure Linux:2","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.46.0-3"}]}]},{"source":"osv","ecosystem":"Azure Linux:2","package":"nodejs18","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"18.17.1-2"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"envoy","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.23.11"},{"introduced":"1.24.0"},{"fixed":"1.24.9"},{"introduced":"1.25.0"},{"fixed":"1.25.8"},{"introduced":"1.26.0"},{"fixed":"1.26.3"}]}]},{"source":"osv","ecosystem":"TuxCare:Debian:10","package":"libnghttp2-14","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.36.0-2+deb10u3+tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:Debian:10","package":"libnghttp2-dev","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.36.0-2+deb10u3+tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:Debian:10","package":"libnghttp2-doc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.36.0-2+deb10u3+tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:Debian:10","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.36.0-2+deb10u3+tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:Debian:10","package":"nghttp2-client","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.36.0-2+deb10u3+tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:Debian:10","package":"nghttp2-proxy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.36.0-2+deb10u3+tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:Debian:10","package":"nghttp2-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.36.0-2+deb10u3+tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.2","package":"libnghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.43.0-5.el9_2.1.tuxcare.els2"}]}],"bundled":2},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.2","package":"libnghttp2-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.43.0-5.el9_2.1.tuxcare.els2"}]}],"bundled":2},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.2","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.43.0-5.el9_2.1.tuxcare.els2"}]}],"bundled":2},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"libnghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.43.0-6.el9.tuxcare.els2"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"libnghttp2-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.43.0-6.el9.tuxcare.els2"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.43.0-6.el9.tuxcare.els2"}]}]},{"source":"osv","ecosystem":"TuxCare:Ubuntu:18.04","package":"libnghttp2-14","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.30.0-1ubuntu1+tuxcare.els3"}]}],"bundled":3},{"source":"osv","ecosystem":"TuxCare:Ubuntu:18.04","package":"libnghttp2-dev","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.30.0-1ubuntu1+tuxcare.els3"}]}],"bundled":3},{"source":"osv","ecosystem":"TuxCare:Ubuntu:18.04","package":"libnghttp2-doc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.30.0-1ubuntu1+tuxcare.els3"}]}],"bundled":3},{"source":"osv","ecosystem":"TuxCare:Ubuntu:18.04","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.30.0-1ubuntu1+tuxcare.els3"}]}],"bundled":3},{"source":"osv","ecosystem":"TuxCare:Ubuntu:18.04","package":"nghttp2-client","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.30.0-1ubuntu1+tuxcare.els3"}]}],"bundled":3},{"source":"osv","ecosystem":"TuxCare:Ubuntu:18.04","package":"nghttp2-proxy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.30.0-1ubuntu1+tuxcare.els3"}]}],"bundled":3},{"source":"osv","ecosystem":"TuxCare:Ubuntu:18.04","package":"nghttp2-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.30.0-1ubuntu1+tuxcare.els3"}]}],"bundled":3},{"source":"osv","ecosystem":"Julia","package":"nghttp2_jll","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.58.0+0"}]}]},{"source":"osv","ecosystem":"openEuler:20.03-LTS-SP1","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.41.0-3.oe1"}]}]},{"source":"osv","ecosystem":"openEuler:20.03-LTS-SP3","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.41.0-4.oe1"}]}]},{"source":"osv","ecosystem":"openEuler:22.03-LTS","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.46.0-4.oe2203sp2"}]}]},{"source":"osv","ecosystem":"openEuler:22.03-LTS-SP1","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.46.0-4.oe2203sp1"}]}]},{"source":"osv","ecosystem":"openEuler:22.03-LTS-SP2","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.46.0-4.oe2203sp2"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Software Development Kit 12 SP5","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.39.2-3.10.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 12 SP5","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.39.2-3.10.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 12 SP5","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.39.2-3.10.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Micro 5.3","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150200.9.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Micro 5.4","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150200.9.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Micro 5.5","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150200.9.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP4","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150200.9.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP5","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150200.9.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150200.9.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150200.9.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150200.9.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 15 SP2-LTSS","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150200.9.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 15 SP3-LTSS","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150200.9.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15 SP2","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150200.9.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15 SP3","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150200.9.1"}]}]},{"source":"osv","ecosystem":"SUSE:Manager Proxy 4.2","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150200.9.1"}]}]},{"source":"osv","ecosystem":"SUSE:Manager Server 4.2","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150200.9.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Micro 5.1","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150200.9.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Micro 5.2","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150200.9.1"}]}]},{"source":"osv","ecosystem":"SUSE:Enterprise Storage 7.1","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150200.9.1"}]}]},{"source":"osv","ecosystem":"openSUSE:Leap 15.4","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150200.9.1"}]}]},{"source":"osv","ecosystem":"openSUSE:Leap 15.4","package":"nghttp2-python","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150200.9.1"}]}]},{"source":"osv","ecosystem":"openSUSE:Leap 15.5","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150200.9.1"}]}]},{"source":"osv","ecosystem":"openSUSE:Leap 15.5","package":"nghttp2-python","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150200.9.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150000.3.14.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 15 SP1-LTSS","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150000.3.14.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15 SP1","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.40.0-150000.3.14.1"}]}]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"nghttp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.55.1-1.1"}]}]}],"products":[{"vendor":"envoyproxy","product":"envoy"},{"vendor":"nghttp2","product":"nghttp2"},{"vendor":"siemens","product":"simatic s7-1500 cpu 1518-4 pn/dp mfp"},{"vendor":"siemens","product":"simatic s7-1500 cpu 1518f-4 pn/dp mfp"},{"vendor":"siemens","product":"siplus s7-1500 cpu 1518-4 pn/dp mfp"}],"references":[{"url":"https://github.com/envoyproxy/envoy/security/advisories/GHSA-jfxv-29pc-x22r","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory","advisory","web"]},{"url":"https://github.com/nghttp2/nghttp2/blob/e7f59406556c80904b81b593d38508591bb7523a/lib/nghttp2_session.c#L3346","tags":["x_refsource_MISC","x_transferred","Product","web"]},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-398330.html","tags":["web"]},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-943925.html","tags":["web"]},{"url":"https://security.alpinelinux.org/vuln/CVE-2023-35945","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-35945","tags":["web","advisory"]},{"url":"https://docs.bell-sw.com/security/cves/CVE-2023-35945","tags":["advisory"]},{"url":"https://errata.tuxcare.com/els_os/debian10els/CLSA-2026-1777947331.html","tags":["advisory"]},{"url":"https://errata.tuxcare.com/els_os/almalinux9.2esu/CLSA-2026-1778129164.html","tags":["advisory"]},{"url":"https://errata.tuxcare.com/els_os/tuxcare9.6esu/CLSA-2026-1778148827.html","tags":["advisory"]},{"url":"https://errata.tuxcare.com/els_os/ubuntu18.04els/CLSA-2026-1788175030.html","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-11080","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-44487","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/35xxx/CVE-2023-35945.json","tags":["advisory"]},{"url":"https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1506","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2023/suse-su-20233842-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1215713","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2023-35945","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2023/suse-su-20233997-1/","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2023/suse-su-20234102-1/","tags":["advisory"]},{"url":"","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2023-35945","title":"Envoy vulnerable to HTTP/2 memory leak in nghttp2 codec","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.","status":"published","published":"2023-07-13T20:41:15.69Z","modified":"2026-10-14T23:34:56.207Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-400"],"updated_at":"2026-11-02T14:35:33.462059Z"}],"euvd":[{"id":"EUVD-2023-39929","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.","status":"published","published":"2023-07-13T20:41:15Z","modified":"2026-10-14T23:34:56Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T17:27:11.209168Z"}],"nvd":[{"id":"CVE-2023-35945","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.","status":"published","published":"2023-07-13T21:15:08.88Z","modified":"2026-10-15T00:16:33.813Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"secondary"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"primary"}],"cwes":["CWE-400","CWE-459"],"updated_at":"2026-11-02T14:08:15.91037Z"}],"osv":[{"id":"ALPINE-CVE-2023-35945","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.","status":"published","published":"2023-07-13T21:15:08.88Z","modified":"2026-10-26T17:17:58.628977724Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:27:49.709457Z"},{"id":"AZL-27650","title":"CVE-2023-35945 affecting package nodejs for versions less than 16.20.2-2","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.","status":"published","published":"2023-07-13T21:15:08Z","modified":"2026-04-21T04:24:28.54875Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:28:03.093433Z"},{"id":"AZL-27667","title":"CVE-2023-35945 affecting package cmake for versions less than 3.21.4-8","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.","status":"published","published":"2023-07-13T21:15:08Z","modified":"2026-04-21T04:24:30.800653Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:28:03.093433Z"},{"id":"AZL-27682","title":"CVE-2023-35945 affecting package nghttp2 for versions less than 1.46.0-3","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.","status":"published","published":"2023-07-13T21:15:08Z","modified":"2026-04-21T04:25:35.374807Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:28:03.093433Z"},{"id":"AZL-27683","title":"CVE-2023-35945 affecting package nodejs18 for versions less than 18.17.1-2","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.","status":"published","published":"2023-07-13T21:15:08Z","modified":"2026-04-21T04:25:35.399465Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:28:03.093433Z"},{"id":"BELL-CVE-2023-35945","title":"CVE-2023-35945 does not affect BellSoft software","status":"withdrawn","published":"2023-08-31T12:21:32.560453Z","modified":"2026-01-26T09:48:34.542142Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:28:17.742221Z"},{"id":"CVE-2023-35945","title":"Envoy vulnerable to HTTP/2 memory leak in nghttp2 codec","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.","status":"published","published":"2023-07-13T20:41:15.69Z","modified":"2026-10-28T02:30:23.200251871Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-400"],"updated_at":"2026-11-02T15:44:32.510144Z"},{"id":"JLSEC-2026-2","title":"Envoy is a cloud-native high-performance edge/middle/service proxy","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.","status":"published","published":"2026-03-23T22:38:33.248Z","modified":"2026-07-18T00:01:39.074719497Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:47:18.159338Z"},{"id":"OESA-2023-1506","title":"nghttp2 security update","description":"The framing layer of HTTP/2 is implemented as a form of reusable C library. On top of that, we have implemented HTTP/2 client, server and proxy. We have also developed load test and benchmarking tool for HTTP/2.\r\n\r\nSecurity Fix(es):\r\n\r\nEnvoy 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.(CVE-2023-35945)","status":"published","published":"2023-08-12T11:05:57Z","modified":"2026-08-18T01:17:00.331559007Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:52:40.328856Z"},{"id":"BIT-envoy-2023-35945","title":"Envoy vulnerable to HTTP/2 memory leak in nghttp2 codec","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.","status":"published","published":"2024-03-06T10:52:37.891Z","modified":"2026-09-08T08:47:22.473021458Z","updated_at":"2026-11-02T15:28:29.563843Z"},{"id":"CLSA-2026-1777947331","title":"Fix CVE(s): CVE-2023-35945","description":"   * SECURITY UPDATE: HTTP/2 memory leak in nghttp2 codec\n     - debian/patches/CVE-2023-35945.patch: fix memory leak in\n       nghttp2_session_mem_send_internal when stream close callback fails\n       with a fatal error\n     - CVE-2023-35945","status":"published","published":"2026-05-05T02:15:38Z","modified":"2026-06-04T10:04:00.080954Z","updated_at":"2026-11-02T15:43:44.737408Z"},{"id":"CLSA-2026-1778129164","title":"nghttp2: Fix of 2 CVEs","description":"- CVE-2023-35945: fix memory leak on RST_STREAM followed by GOAWAY\n- CVE-2026-27135: fix iframe state validation to prevent assertion failure","status":"published","published":"2026-05-07T04:46:09Z","modified":"2026-06-01T00:32:29.502606898Z","updated_at":"2026-11-02T15:43:44.737408Z"},{"id":"CLSA-2026-1778148827","title":"nghttp2: Fix of CVE-2023-35945","description":"- CVE-2023-35945: fix memory leak in nghttp2_session_mem_send_internal when\n  on_stream_close_callback returns a fatal error during send-failure handling","status":"published","published":"2026-05-07T10:13:57Z","modified":"2026-06-01T00:30:10.69909577Z","updated_at":"2026-11-02T15:43:44.737408Z"},{"id":"CLSA-2026-1788175030","title":"Fix CVE(s): CVE-2020-11080, CVE-2023-35945, CVE-2023-44487","description":"   * SECURITY UPDATE: denial of service via HTTP/2 stream reset flood\n     (Rapid Reset)\n     - debian/patches/CVE-2023-44487.patch: rate-limit incoming RST_STREAM\n       on server sessions with a token bucket (burst 1000, 33 tokens per\n       second) and send GOAWAY once it is exhausted, adding the\n       nghttp2_ratelim and nghttp2_time modules and the clock_gettime /\n       GetTickCount64 probes they need.  Backported without upstream's new\n       public option setter, so debian/libnghttp2-14.symbols is unchanged.\n     - CVE-2023-44487","status":"published","published":"2026-08-31T11:17:24Z","modified":"2026-10-26T09:32:04.177639018Z","updated_at":"2026-11-02T15:43:47.591214Z"},{"id":"openSUSE-SU-2024:13062-1","title":"libnghttp2-14-1.55.1-1.1 on GA media","description":"These are all security issues fixed in the libnghttp2-14-1.55.1-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T04:20:08.413342Z","updated_at":"2026-11-02T16:58:36.025801Z"},{"id":"SUSE-SU-2023:3842-1","title":"Security update for nghttp2","description":"This update for nghttp2 fixes the following issues:\n  \n- CVE-2023-35945: Fixed memory leak when PUSH_PROMISE or HEADERS frame cannot be sent (bsc#1215713).\n","status":"published","published":"2023-09-27T18:04:13Z","modified":"2026-02-04T03:01:11.491478Z","updated_at":"2026-11-02T15:53:53.440387Z"},{"id":"SUSE-SU-2023:3997-1","title":"Security update for nghttp2","description":"This update for nghttp2 fixes the following issues:\n\n- CVE-2023-35945: Fixed memory leak when PUSH_PROMISE or HEADERS frame cannot be sent (bsc#1215713).\n","status":"published","published":"2023-10-06T12:20:08Z","modified":"2026-02-04T02:41:27.821326Z","updated_at":"2026-11-02T15:53:53.440387Z"},{"id":"SUSE-SU-2023:4102-1","title":"Security update for nghttp2","description":"This update for nghttp2 fixes the following issues:\n\n- CVE-2023-35945: Fixed memory leak when PUSH_PROMISE or HEADERS frame cannot be sent (bsc#1215713).\n","status":"published","published":"2023-10-17T13:14:36Z","modified":"2026-02-04T04:03:52.299456Z","updated_at":"2026-11-02T15:53:53.865042Z"}]}}
