ngtcp2 QUIC Stack Overflow: A Critical Vulnerability for Qlog Deployments

ngtcp2 QUIC Stack Overflow: A Critical Vulnerability for Qlog Deployments

The National Vulnerability Database has disclosed CVE-2026-40170, a high-severity stack buffer overflow in ngtcp2, a C implementation of the IETF QUIC protocol. This isn’t just another vulnerability; it’s a critical flaw impacting how QUIC implementations handle logging and untrusted input. Specifically, the ngtcp2_qlog_parameters_set_transport_params() function, in versions prior to 1.22.1, fails to perform bounds checking when serializing peer transport parameters into a fixed 1024-byte stack buffer.

This lack of validation creates a direct vector for remote code execution or denial-of-service. An attacker can craft and send sufficiently large transport parameters during the QUIC handshake. If qlog is enabled, this malicious input overflows the buffer, leading to a crash or, more dangerously, arbitrary code execution. The attack surface is significant: any deployment that enables the qlog callback and processes untrusted peer transport parameters is vulnerable. This covers a broad range of services utilizing QUIC for performance and modern web communication.

From an attacker’s perspective, this is a prime target. The vulnerability is network-adjacent (AV:N), requires no privileges (PR:N), and no user interaction (UI:N). The CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H vector, yielding a score of 7.5 (HIGH), correctly reflects the ease of exploitation and high impact on availability. While the CVSS vector indicates no direct impact on confidentiality or integrity, a stack buffer overflow is a classic primitive for achieving full remote code execution, which would inherently compromise both.

Defenders need to move fast. The fix in version 1.22.1 is the definitive solution. For organizations that cannot immediately upgrade, disabling qlog on the client side is a viable, albeit temporary, mitigation. This directly removes the vulnerable code path from execution, but it also means losing valuable diagnostic information that qlog provides. The trade-off is clear: security over logging for now. This highlights a broader issue: the often-overlooked attack surface introduced by logging and diagnostic components, which are frequently developed with less stringent security scrutiny than core protocol implementations.

This incident underscores the importance of input validation at every layer, especially when dealing with data from untrusted sources. Even seemingly innocuous diagnostic features like qlog can become critical attack vectors when not properly secured. CISOs should be asking their teams: Where else in our infrastructure are we processing untrusted input into fixed-size buffers, particularly in diagnostic or logging components? This isn’t just about ngtcp2; it’s a reminder to scrutinize all ancillary components that interact with external data.

What This Means For You

  • If your organization uses ngtcp2, you need to check your version immediately. Patch to 1.22.1 without delay. If patching isn't possible right now, disable qlog on the client side as a temporary mitigation. Audit your QUIC deployments to understand exposure.

Related ATT&CK Techniques

🛡️ Detection Rules

6 rules · 6 SIEM formats

6 auto-generated detection rules for this incident, mapped to MITRE ATT&CK. Available in Sigma, Splunk SPL, Sentinel KQL, Elastic Lucene, QRadar AQL, and Wazuh.

high T1190 Initial Access

Web Application Exploitation Attempt — CVE-2026-40170

Sigma YAML — free preview
✓ Sigma 🔒 Splunk SPL 🔒 Sentinel KQL 🔒 Elastic 🔒 QRadar AQL 🔒 Wazuh

Want this in your SIEM's native format? Get Splunk SPL, Sentinel KQL, Elastic, QRadar AQL, or Wazuh — ready to paste.

6 Sigma rules mapped to the ATT&CK techniques from this breach — pick your SIEM and get a ready-to-paste query.

Get All SIEM Formats →

Indicators of Compromise

IDTypeIndicator
CVE-2026-40170 Buffer Overflow ngtcp2 versions prior to 1.22.1
CVE-2026-40170 Buffer Overflow Vulnerable function: ngtcp2_qlog_parameters_set_transport_params()
CVE-2026-40170 Buffer Overflow Condition: qlog callback is enabled and processes untrusted peer transport parameters

Related Posts

CVE-2026-40265 — Note Mark is an open-source note-taking application. In

CVE-2026-40265 — Note Mark is an open-source note-taking application. In versions 0.19.1 and prior, the asset download endpoint at /api/notes/{noteID}/assets/{assetID} is registered without authentication middleware,...

vulnerabilityCVEmedium-severitycwe-862
/SCW Vulnerability Desk /MEDIUM /⚑ 2 IOCs

Note Mark XSS: Magic Bytes Fail, Sessions Exposed

CVE-2026-40262 — Note Mark is an open-source note-taking application. In versions 0.19.1 and prior, the asset delivery handler serves uploaded files inline and relies on...

vulnerabilityCVEhigh-severitycwe-79cwe-434
/SCW Vulnerability Desk /HIGH /⚑ 4 IOCs

Cloud Foundry UAA Bypass: Unsigned SAML Exposes Identity Tokens

CVE-2026-22734 — Cloud Foundry UUA is vulnerable to a bypass that allows an attacker to obtain a token for any user and gain access to UAA-protected...

vulnerabilityCVEhigh-severitycwe-290
/SCW Vulnerability Desk /HIGH /⚑ 4 IOCs