quic-go: HTTP/3 QPACK Trailer Expansion Memory Exhaustion
Exploitation and risk
Source statusCISA KEV lists vulnerabilities known to be exploited. FIRST EPSS estimates the likelihood of exploitation in the next 30 days. An unavailable score does not mean zero risk.
Which CVEs have scores here?
This view includes predictions for CVE identifiers explicitly listed in public NuGet advisories. Microsoft release pages have their own prediction coverage. Check source status for the scope and latest checks.
No exploitation or prediction data is available here for these CVEs. This does not mean they are safe or unlikely to be exploited.
cve-program · CVE-2026-40898
Publishedquic-go is an implementation of the QUIC protocol in Go. Prior to version 0.59.1, an attacker can cause excessive memory allocation in quic-go's HTTP/3 client and server implementations by sending a QPACK-encoded HEADERS frame that decodes into a large trailer field section with many unique field names and/or large values. The implementation builds an `http.Header` for the corresponding `http.Request` or `http.Response`, while only enforcing limits on the size of the QPACK-compressed HEADERS frame, not on the decoded field section. This can lead to memory exhaustion. This is very similar to CVE-2025-64702. The difference is that this issue uses HTTP trailers, rather than HTTP headers, as the attack vector. A misbehaving or malicious peer can cause a denial-of-service (DoS) attack against quic-go's HTTP/3 servers or clients by triggering excessive memory allocation, potentially leading to crashes or resource exhaustion. This affects both servers and clients due to symmetric header construction. Version 0.59.1 enforces RFC 9114 decoded field section size limits for trailers as well. It incrementally decodes QPACK entries and checks the field section size after each entry, aborting the stream if an entry causes the limit to be exceeded.
- Source published
- 4 Jun 2026 17:43:36 UTC
- Source modified
- 4 Jun 2026 18:40:44 UTC
- Saved here
- 23 Oct 2026 15:48:27 UTC
- Source terms
- CVE Program Terms of Use
Original source record · Cite this exact observation · Complete original publisher JSON
Source: cve-program · CVE Program Terms of Use. The publisher's wording is preserved. ChangeIntel groups the information and labels changes. The JSON record includes additional source fields.
CVSS 3.1 · 5.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
euvd · EUVD-2026-34312
Publishedquic-go is an implementation of the QUIC protocol in Go. Prior to version 0.59.1, an attacker can cause excessive memory allocation in quic-go's HTTP/3 client and server implementations by sending a QPACK-encoded HEADERS frame that decodes into a large trailer field section with many unique field names and/or large values. The implementation builds an `http.Header` for the corresponding `http.Request` or `http.Response`, while only enforcing limits on the size of the QPACK-compressed HEADERS frame, not on the decoded field section. This can lead to memory exhaustion. This is very similar to CVE-2025-64702. The difference is that this issue uses HTTP trailers, rather than HTTP headers, as the attack vector. A misbehaving or malicious peer can cause a denial-of-service (DoS) attack against quic-go's HTTP/3 servers or clients by triggering excessive memory allocation, potentially leading to crashes or resource exhaustion. This affects both servers and clients due to symmetric header construction. Version 0.59.1 enforces RFC 9114 decoded field section size limits for trailers as well. It incrementally decodes QPACK entries and checks the field section size after each entry, aborting the stream if an entry causes the limit to be exceeded.
Additional publisher context
EUVD source date text has no stated timezone and is retained without inventing a UTC instant. Related bulletin membership is not an alias, common cause or applicability claim. A missing vector with a zero score is treated as unrated. Complete vendor/product and underlying source evidence remains in the original JSON.
Original publisher date fields
datePublished: Jun 4, 2026, 5:43:36 PM
dateUpdated: Jun 4, 2026, 6:40:44 PM
10 related source bulletins · separate from aliases
RHSA-2026:50319: Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.5 Product Security and Bug Fix Update
CVE-2026-12383 · CVE-2026-27145 · CVE-2026-33811 · CVE-2026-34993 · CVE-2026-39820 · CVE-2026-40898 · CVE-2026-42499 · CVE-2026-42504 · CVE-2026-44545 · CVE-2026-48526 · CVE-2026-54059 · CVE-2026-54060 · CVE-2026-55379 · CVE-2026-55380 · CVE-2026-59197 · CVE-2026-59885 · CVE-2026-59886
RHSA-2026:53734: Red Hat Security Advisory: OpenShift Virtualization v4.21 Images
CVE-2026-40898
RHSA-2026:50340: Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.7 Container Release Update
CVE-2026-11332 · CVE-2026-12383 · CVE-2026-13149 · CVE-2026-13676 · CVE-2026-18141 · CVE-2026-34993 · CVE-2026-40898 · CVE-2026-44545 · CVE-2026-48526 · CVE-2026-48990 · CVE-2026-54058 · CVE-2026-54060 · CVE-2026-54283 · CVE-2026-55379 · CVE-2026-55380 · CVE-2026-59197 · CVE-2026-59886 · CVE-2026-59939
RHSA-2026:40223: Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
CVE-2026-40898
RHSA-2026:15862: Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
CVE-2026-40898 · CVE-2026-44432 · CVE-2026-45287 · CVE-2026-53489 · CVE-2026-53492
RHSA-2026:50318: Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.7 Product Security and Bug Fix Update
CVE-2026-40898
WID-SEC-W-2026-2650: Red Hat Ansible Automation Platform (quic-go): Schwachstelle ermöglicht Denial of Service
CVE-2026-40898
RHSA-2026:50479: Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.6 Container Release Update
CVE-2026-8643 · CVE-2026-9595 · CVE-2026-11332 · CVE-2026-13149 · CVE-2026-13676 · CVE-2026-18141 · CVE-2026-34993 · CVE-2026-40898 · CVE-2026-44545 · CVE-2026-48990 · CVE-2026-54058 · CVE-2026-54060 · CVE-2026-54283 · CVE-2026-55379 · CVE-2026-55380 · CVE-2026-59197 · CVE-2026-59869 · CVE-2026-59886 · CVE-2026-59939
RHSA-2026:50336: Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.6 Product Security and Bug Fix Update
CVE-2026-12383 · CVE-2026-18141 · CVE-2026-33811 · CVE-2026-34993 · CVE-2026-39820 · CVE-2026-40898 · CVE-2026-42499 · CVE-2026-42504 · CVE-2026-44545 · CVE-2026-48526 · CVE-2026-54059 · CVE-2026-54060 · CVE-2026-55379 · CVE-2026-55380 · CVE-2026-59197 · CVE-2026-59885 · CVE-2026-59886
RHSA-2026:62260: Red Hat Security Advisory: Red Hat OpenShift Dev Spaces 3.30.0 Release.
CVE-2025-55163 · CVE-2026-8286 · CVE-2026-9277 · CVE-2026-9547 · CVE-2026-9563 · CVE-2026-10050 · CVE-2026-10051 · CVE-2026-12143 · CVE-2026-12151 · CVE-2026-13149 · CVE-2026-15075 · CVE-2026-15076 · CVE-2026-27136 · CVE-2026-34986 · CVE-2026-39820 · CVE-2026-39831 · CVE-2026-39835 · CVE-2026-40898 · CVE-2026-40983 · CVE-2026-40984 · CVE-2026-41242 · CVE-2026-41695 · CVE-2026-41716 · CVE-2026-42264 · CVE-2026-42499 · CVE-2026-44705 · CVE-2026-45149 · CVE-2026-45416 · CVE-2026-45623 · CVE-2026-45674 · CVE-2026-46597 · CVE-2026-46681 · CVE-2026-47691 · CVE-2026-48020 · CVE-2026-48068 · CVE-2026-48491 · CVE-2026-49978 · CVE-2026-50010 · CVE-2026-50193 · CVE-2026-53488 · CVE-2026-53492 · CVE-2026-53622 · CVE-2026-54399 · CVE-2026-54428 · CVE-2026-54512 · CVE-2026-54513 · CVE-2026-54763 · CVE-2026-55831 · CVE-2026-55833 · CVE-2026-56745 · CVE-2026-56746 · CVE-2026-56819 · CVE-2026-59296 · CVE-2026-59869 · CVE-2026-59873 · CVE-2026-59874 · CVE-2026-59877 · CVE-2026-59888 · CVE-2026-59899 · CVE-2026-65600 · CVE-2026-65601 · CVE-2026-67213 · CVE-2026-67214 · CVE-2026-68494 · CVE-2026-69152 · CVE-2026-69153 · CVE-2026-73086 · CVE-2026-73566 · CVE-2026-73646 · CVE-2026-75838
- Source published
- Jun 4, 2026, 5:43:36 PM (timezone not stated)
- Source modified
- Jun 4, 2026, 6:40:44 PM (timezone not stated)
- Saved here
- 15 Nov 2026 12:02:29 UTC
- Source terms
- ENISA EUVD · source terms and attribution apply
Original source record · Cite this exact observation · Complete original publisher JSON
Source: euvd · ENISA EUVD · source terms and attribution apply. The publisher's wording is preserved. ChangeIntel groups the information and labels changes. The JSON record includes additional source fields.
EUVD CVSS 3.1 · 5.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
nvd · CVE-2026-40898
Publishedquic-go is an implementation of the QUIC protocol in Go. Prior to version 0.59.1, an attacker can cause excessive memory allocation in quic-go's HTTP/3 client and server implementations by sending a QPACK-encoded HEADERS frame that decodes into a large trailer field section with many unique field names and/or large values. The implementation builds an `http.Header` for the corresponding `http.Request` or `http.Response`, while only enforcing limits on the size of the QPACK-compressed HEADERS frame, not on the decoded field section. This can lead to memory exhaustion. This is very similar to CVE-2025-64702. The difference is that this issue uses HTTP trailers, rather than HTTP headers, as the attack vector. A misbehaving or malicious peer can cause a denial-of-service (DoS) attack against quic-go's HTTP/3 servers or clients by triggering excessive memory allocation, potentially leading to crashes or resource exhaustion. This affects both servers and clients due to symmetric header construction. Version 0.59.1 enforces RFC 9114 decoded field section size limits for trailers as well. It incrementally decodes QPACK entries and checks the field section size after each entry, aborting the stream if an entry causes the limit to be exceeded.
Additional publisher context
NVD analysis and CPE criteria are source context, not proof that a package or your environment is affected. Complete affected data, logical configurations and SSVC are retained in the original JSON.
Source analysis status: Analyzed
Weakness classifications: CWE-770
Original publisher date fields
published: 2026-06-04T19:16:28.713
lastModified: 2026-07-22T20:10:00.127
1 source CPE criteria · context only
- cpe:2.3:a:quic-go_project:quic-go:*:*:*:*:*:*:*:*
The original JSON retains the logical configuration operators, exclusions and version bounds.
- Source published
- 4 Jun 2026 19:16:28 UTC
- Source modified
- 22 Jul 2026 20:10:00 UTC
- Saved here
- 25 Oct 2026 09:17:30 UTC
- Source terms
- NIST NVD usage terms; underlying source attribution retained
Original source record · Cite this exact observation · Complete original publisher JSON
Source: nvd · NIST NVD usage terms; underlying source attribution retained. The publisher's wording is preserved. ChangeIntel groups the information and labels changes. The JSON record includes additional source fields.
CVSS 3.1 · [email protected] · Secondary · 5.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
CVSS 3.1 · [email protected] · Primary · 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
osv · GHSA-vvgj-x9jq-8cj9
Published## Summary An attacker can cause excessive memory allocation in quic-go's HTTP/3 client and server implementations by sending a QPACK-encoded HEADERS frame that decodes into a large trailer field section with many unique field names and/or large values. The implementation builds an `http.Header` for the corresponding `http.Request` or `http.Response`, while only enforcing limits on the size of the QPACK-compressed HEADERS frame, not on the decoded field section. This can lead to memory exhaustion. This is very similar to CVE-2025-64702. The difference is that this issue uses HTTP trailers, rather than HTTP headers, as the attack vector. ## Impact A misbehaving or malicious peer can cause a denial-of-service (DoS) attack against quic-go's HTTP/3 servers or clients by triggering excessive memory allocation, potentially leading to crashes or resource exhaustion. This affects both servers and clients due to symmetric header construction. ## Details In HTTP/3, field sections are compressed using QPACK (RFC 9204). Field sections are used for both HTTP headers and trailers. quic-go's HTTP/3 server and client decode the QPACK-encoded HEADERS frame into header fields, then construct an `http.Request` or `http.Response`. `http3.Server.MaxHeaderBytes` and `http3.Transport.MaxResponseHeaderBytes` limit the encoded HEADERS frame size, with defaults of 1 MB for servers and 10 MB for clients. However, they did not limit the decoded field section size. A maliciously crafted HEADERS frame carrying trailers can expand to about 50x the encoded size using QPACK static table entries with long names and/or values. RFC 9114 requires endpoints to enforce decoded field section size limits via SETTINGS, which quic-go did not do for trailers. ## The Fix quic-go now enforces RFC 9114 decoded field section size limits for trailers as well. It incrementally decodes QPACK entries and checks the field section size after each entry, aborting the stream if an entry causes the limit to be exceeded.
- Source published
- 3 Jun 2026 20:59:49 UTC
- Source modified
- 10 Sep 2026 03:50:50 UTC
- Saved here
- 24 Oct 2026 13:19:41 UTC
- Source terms
- GitHub Advisory Database · CC-BY-4.0
Original source record · Cite this exact observation · Complete original publisher JSON
Source: osv · GitHub Advisory Database · CC-BY-4.0. The publisher's wording is preserved. ChangeIntel groups the information and labels changes. The JSON record includes additional source fields.
CVSS_V3 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Publisher rating · MODERATE
osv · GO-2026-5676
PublishedHTTP/3 QPACK Trailer Expansion Memory Exhaustion in github.com/quic-go/quic-go
- Source published
- 7 Jul 2026 16:52:19 UTC
- Source modified
- 25 Jul 2026 21:44:40 UTC
- Saved here
- 24 Oct 2026 13:19:41 UTC
- Source terms
- OSV · upstream source license applies
Original source record · Cite this exact observation · Complete original publisher JSON
Source: osv · OSV · upstream source license applies. The publisher's wording is preserved. ChangeIntel groups the information and labels changes. The JSON record includes additional source fields.