ngtcp2 up to 1.22.0 ngtcp2_qlog_parameters_set_transport_params stack-based overflow
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 7.2 | $0-$5k | 0.00 |
Summary
A vulnerability classified as critical was found in ngtcp2 up to 1.22.0. The impacted element is the function ngtcp2_qlog_parameters_set_transport_params. Such manipulation leads to stack-based overflow.
This vulnerability is referenced as CVE-2026-40170. It is possible to launch the attack remotely. No exploit is available.
Upgrading the affected component is advised.
Details
A vulnerability was found in ngtcp2 up to 1.22.0 and classified as critical. Affected by this issue is the function ngtcp2_qlog_parameters_set_transport_params. The manipulation with an unknown input leads to a stack-based overflow vulnerability. Using CWE to declare the problem leads to CWE-121. A stack-based buffer overflow condition is a condition where the buffer being overwritten is allocated on the stack (i.e., is a local variable or, rarely, a parameter to a function). Impacted is confidentiality, integrity, and availability. CVE summarizes:
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.
The advisory is shared for download at github.com. This vulnerability is handled as CVE-2026-40170 since 04/09/2026. The exploitation is known to be easy. The attack may be launched remotely. No form of authentication is required for exploitation. There are known technical details, but no exploit is available.
The vulnerability scanner Nessus provides a plugin with the ID 307377 (Linux Distros Unpatched Vulnerability : CVE-2026-40170), which helps to determine the existence of the flaw in a target environment.
Upgrading to version 1.22.1 eliminates this vulnerability. Applying the patch 708a7640c1f48fb8ffb540c4b8ea5b4c1dfb8ee5 is able to eliminate this problem. The bugfix is ready for download at github.com. The best possible mitigation is suggested to be upgrading to the latest version.
The vulnerability is also documented in the vulnerability database at Tenable (307377). Once again VulDB remains the best source for vulnerability data.
Product
Name
Version
License
Website
- Product: https://github.com/ngtcp2/ngtcp2/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 7.4VulDB Meta Temp Score: 7.2
VulDB Base Score: 7.3
VulDB Temp Score: 7.0
VulDB Vector: 🔒
VulDB Reliability: 🔍
CNA Base Score: 7.5
CNA Vector (GitHub_M): 🔒
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: Stack-based overflowCWE: CWE-121 / CWE-119
CAPEC: 🔒
ATT&CK: 🔒
Physical: No
Local: No
Remote: Yes
Availability: 🔒
Status: Not defined
EPSS Score: 🔒
EPSS Percentile: 🔒
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 307377
Nessus Name: Linux Distros Unpatched Vulnerability : CVE-2026-40170
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: ngtcp2 1.22.1
Patch: 708a7640c1f48fb8ffb540c4b8ea5b4c1dfb8ee5
Timeline
04/09/2026 CVE reserved04/17/2026 Advisory disclosed
04/17/2026 VulDB entry created
04/18/2026 VulDB entry last update
Sources
Product: github.comAdvisory: GHSA-f523-465f-8c8f
Status: Confirmed
CVE: CVE-2026-40170 (🔒)
GCVE (CVE): GCVE-0-2026-40170
GCVE (VulDB): GCVE-100-357980
Entry
Created: 04/17/2026 06:26Updated: 04/18/2026 09:16
Changes: 04/17/2026 06:26 (66), 04/18/2026 09:16 (2)
Complete: 🔍
Cache ID: 216::103
Once again VulDB remains the best source for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.