CVE-2026-40170 json
ngtcp2 has a qlog transport parameter serialization stack buffer overflow
published 2026-04-16 6 mo ago modified 2026-07-15 3 mo ago also EUVD-2026-23302
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.8%
- EPSS 0.8% chance of exploitation in 30 days, percentile 56%
- public exploits
- 0
- none known
Summary
ngtcp2 is a C implementation of the IETF QUIC protocol. In versions prior to 1.22.1, ngtcp2_qlog_parameters_set_transport_params() serializes peer transport parameters into a fixed 1024-byte stack buffer without bounds checking. When qlog is enabled, a remote peer can send sufficiently large transport parameters during the QUIC handshake to cause writes beyond the buffer boundary, resulting in a stack buffer overflow. This affects deployments that enable the qlog callback and process untrusted peer transport parameters. This issue has been fixed in version 1.22.1. If developers are unable to immediately upgrade, they can disable the qlog on client.
Patch / fix
- Red Hat Red Hat Enterprise Linux 10 0:4.23.5-109.el10_2
- Red Hat Red Hat Enterprise Linux 9 0:4.23.5-10.el9_8
- Red Hat Red Hat Hardened Images 1.22.1-1.hum1
- ngtcp2 Debian 12 0.12.1+dfsg-1+deb12u1
- ngtcp2 Debian 13 1.11.0-1+deb13u1
- ngtcp2 Debian 14 1.22.1-1
debian advisories DEBIAN-CVE-2026-40170
- ngtcp2 Ubuntu 24.04 LTS 0.12.1+dfsg-1+deb12u1build0.24.04.1
- ngtcp2 Ubuntu 25.10 1.11.0-1+deb13u1build0.25.10.1
- ngtcp2 Ubuntu 26.04 LTS 1.16.0-1ubuntu0.1
- ngtcp2 Ubuntu Pro 22.04 LTS 0.1.0+dfsg-1ubuntu0.1~esm1
ubuntu advisories UBUNTU-CVE-2026-40170
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- samba RHEL 9 4.23.5-10.el9_8
- ctdb RHEL 9 4.23.5-10.el9_8
- libldb RHEL 9 4.23.5-10.el9_8
- ldb-tools RHEL 9 4.23.5-10.el9_8
- libnetapi RHEL 9 4.23.5-10.el9_8
- samba-libs RHEL 9 4.23.5-10.el9_8
- samba-pidl RHEL 9 4.23.5-10.el9_8
- samba-test RHEL 9 4.23.5-10.el9_8
red hat advisories RHSA-2026:25049RHSA-2026:22963RHSA-2026:9113
- nodejs20 SLES for SAP 15 SP5, SLES 15 SP5-LTSS, SLE High Performance Computing 15 SP5-LTSS +1 more 20.20.2-150500.11.30.1
- nodejs24 SLES for SAP applications 16.0, SLES 16.0 24.18.0-160000.1.1
- nodejs22 SLE Module for Web and Scripting 15 SP7 22.23.0-150700.3.12.1
- nodejs24 SLE Module for Web and Scripting 15 SP7 24.17.0-150700.15.11.1
- nodejs22 SLES for SAP applications 16.0, SLES 16.0 22.23.0-160000.1.1
- nodejs20 SLES for SAP 15 SP6, SLES 15 SP6-LTSS 20.20.2-150600.3.21.1
- nodejs22 SLES for SAP 15 SP6, SLES 15 SP6-LTSS 22.23.0-150600.13.18.1
suse advisories SUSE-SU-2026:3930-1SUSE-SU-2026:3929-1SUSE-SU-2026:22565-1SUSE-SU-2026:2695-1SUSE-SU-2026:2647-1SUSE-SU-2026:2633-1
- nodejs24 openSUSE Leap 16.0 24.18.0-160000.1.1
- nodejs22 openSUSE Leap 16.0 22.23.0-160000.1.1
- nodejs24 openSUSE Tumbleweed 24.17.0-1.1
- samba openSUSE Tumbleweed 4.23.8+git.477.f78166bceed-1.1
- ngtcp2 openSUSE Tumbleweed 1.22.1-1.1
opensuse advisories openSUSE-SU-2026:21236-1openSUSE-SU-2026:21058-1openSUSE-SU-2026:11121-1openSUSE-SU-2026:10884-1openSUSE-SU-2026:10621-1
- samba AlmaLinux 9 4.23.5-10.el9_8
- libldb AlmaLinux 9 4.23.5-10.el9_8
- ldb-tools AlmaLinux 9 4.23.5-10.el9_8
- libnetapi AlmaLinux 9 4.23.5-10.el9_8
- samba-libs AlmaLinux 9 4.23.5-10.el9_8
- samba-pidl AlmaLinux 9 4.23.5-10.el9_8
- samba-test AlmaLinux 9 4.23.5-10.el9_8
- libwbclient AlmaLinux 9 4.23.5-10.el9_8
almalinux advisories ALSA-2026:25049ALSA-2026:22963
- samba Rocky Linux 9 4.23.5-10.el9_8
- samba Rocky Linux 10 4.23.5-109.el10_2
rocky linux advisories RLSA-2026:25049RLSA-2026:22963
- ngtcp2 Alpine 3.20 1.5.0-r1
- ngtcp2 Alpine 3.21 1.9.1-r1
- ngtcp2 Alpine 3.22 1.12.0-r1
- ngtcp2 Alpine 3.24, Alpine 3.23 1.22.1-r0
alpine advisories ALPINE-CVE-2026-40170
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-40170 updated cvss 7.5
ngtcp2: ngtcp2: Denial of service via stack buffer overflow during QUIC handshake
-
Red Hat Enterprise Linux AppStream (v. 9) samba-client 4.23.5-10.el9_8, samba-winexe 4.23.5-10.el9_8, samba-gpupdate 4.23.5-10.el9_8, samba-vfs-iouring 4.23.5-10.el9_8, samba-krb5-printing 4.23.5-10.el9_8, samba-winbind-clients 4.23.5-10.el9_8, +1 morefixed: vendor fix RHSA-2026:25049
-
Red Hat Enterprise Linux AppStream (v. 10) samba-client 4.23.5-109.el10_2, samba-winexe 4.23.5-109.el10_2, samba-gpupdate 4.23.5-109.el10_2, samba-vfs-iouring 4.23.5-109.el10_2, samba-krb5-printing 4.23.5-109.el10_2, samba-winbind-clients 4.23.5-109.el10_2, +1 morefixed: vendor fix RHSA-2026:22963
-
Red Hat Enterprise Linux BaseOS (v. 9) samba 4.23.5-10.el9_8, libldb 4.23.5-10.el9_8, ldb-tools 4.23.5-10.el9_8, libnetapi 4.23.5-10.el9_8, samba-libs 4.23.5-10.el9_8, libwbclient 4.23.5-10.el9_8, +15 morefixed: vendor fix RHSA-2026:25049
-
Red Hat Enterprise Linux BaseOS (v. 10) samba 4.23.5-109.el10_2, libldb 4.23.5-109.el10_2, ldb-tools 4.23.5-109.el10_2, libnetapi 4.23.5-109.el10_2, samba-libs 4.23.5-109.el10_2, libwbclient 4.23.5-109.el10_2, +15 morefixed: vendor fix RHSA-2026:22963
-
Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) samba-pidl 4.23.5-10.el9_8, samba-test 4.23.5-10.el9_8, samba-test-libs 4.23.5-10.el9_8, python3-samba-test 4.23.5-10.el9_8fixed: vendor fix RHSA-2026:25049
-
Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) samba-pidl 4.23.5-109.el10_2, samba-test 4.23.5-109.el10_2, samba-test-libs 4.23.5-109.el10_2, python3-samba-test 4.23.5-109.el10_2fixed: vendor fix RHSA-2026:22963
-
Red Hat Enterprise Linux Resilient Storage (v. 9) ctdb 4.23.5-10.el9_8fixed: vendor fix RHSA-2026:25049
-
Red Hat Hardened Images ngtcp2 1.22.1-1.hum1, ngtcp2-crypto-ossl 1.22.1-1.hum1, ngtcp2-crypto-gnutls 1.22.1-1.hum1fixed: vendor fix RHSA-2026:9113
show 1 moreshow fewer
-
Red Hat Enterprise Linux 8 npm, nodejs, nodejs-libs, nodejs-nodemon, nodejs-full-i18n, nodejs-packaging, +1 more Red Hat Enterprise Linux 9 npm, nodejs, nodejs-libs, nodejs-full-i18n Red Hat Enterprise Linux 10 nodejs22, nodejs24not affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 6 mo ago
Exploit prediction
0.78% chance of exploitation in the next 30 days, higher than 56% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/ngtcp2/ngtcp2/security/advisories/GHSA-f523-465f-8c8f referenced PoC, tagged "exploit" by a source, unverified
- openwall.com http://www.openwall.com/lists/oss-security/2026/04/17/12 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| CISA ADP | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected products
- ngtcp2 ngtcp2
- Red Hat Red Hat Enterprise Linux 10
- Red Hat Red Hat Enterprise Linux 9
- Red Hat Red Hat Hardened Images
- Red Hat Red Hat Enterprise Linux 8
Classification
References
-
github.com
/ngtcp2/ngtcp2/commit/708a7640c1f48fb8ffb540c4b8ea5b4c1dfb8ee5
patch
-
github.com
/ngtcp2/ngtcp2/security/advisories/GHSA-f523-465f-8c8f
exploit, mitigation, patch, vendor-advisory
-
openwall.com
/lists/oss-security/2026/04/17/12
exploit, mailing-list, mitigation, patch, third-party-advisory
-
access.redhat.com
/errata/RHSA-2026:22963
vendor-advisory
-
access.redhat.com
/errata/RHSA-2026:25049
vendor-advisory
-
access.redhat.com
/errata/RHSA-2026:9113
vendor-advisory
-
access.redhat.com
/security/cve/CVE-2026-40170
vdb-entry
-
bugzilla.redhat.com
/show_bug.cgi?id=2459061
issue-tracking
- security.access.redhat.com /data/csaf/v2/vex/2026/cve-2026-40170.json
Sources
- CVE List CVE-2026-40170
- NVD CVE-2026-40170
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.