CVE-2026-40170

Name
CVE-2026-40170
Description
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.
NVD Severity
unknown
Other trackers
Mailing lists
Exploits
Forges
GitHub (code, issues), Aports (code, issues)

References

Type URI
security-advisories@github.com https://github.com/ngtcp2/ngtcp2/commit/708a7640c1f48fb8ffb540c4b8ea5b4c1dfb8ee5
security-advisories@github.com https://github.com/ngtcp2/ngtcp2/security/advisories/GHSA-f523-465f-8c8f
af854a3a-2127-422b-91ae-364da2661108 http://www.openwall.com/lists/oss-security/2026/04/17/12

Match rules

CPE URI Source package Min version Max version
cpe:2.3:a:nghttp2:ngtcp2:*:*:*:*:*:*:*:* ngtcp2 >= None < 1.22.1

Vulnerable and fixed packages

Source package Branch Version Maintainer Status
ngtcp2 edge-main 1.22.1-r0 Jakub Jirutka <jakub@jirutka.cz> fixed
ngtcp2 edge-main 1.17.0-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
ngtcp2 edge-main 1.15.1-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
ngtcp2 edge-main 1.13.0-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
ngtcp2 edge-main 1.12.0-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
ngtcp2 edge-main 1.11.0-r1 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
ngtcp2 edge-main 1.11.0-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
ngtcp2 edge-main 1.10.0-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
ngtcp2 edge-main 1.9.1-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
ngtcp2 3.23-main 1.22.1-r0 Jakub Jirutka <jakub@jirutka.cz> fixed
ngtcp2 3.23-main 1.17.0-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
ngtcp2 3.22-main 1.12.0-r1 Jakub Jirutka <jakub@jirutka.cz> fixed
ngtcp2 3.22-main 1.12.0-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
ngtcp2 3.21-main 1.9.1-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
ngtcp2 3.20-main 1.5.0-r1 Jakub Jirutka <jakub@jirutka.cz> fixed
ngtcp2 3.20-main 1.5.0-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
ngtcp2 3.19-main 1.1.0-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable