Description
When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently.
Published: 2026-10-08
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Patch
AI Analysis

Impact

When a client sends a Trailer header, the Go HTTP server uses those header values to fill the Request.Trailer map that is passed to the handler. Because the map stores each entry, adding many trailers results in per‑entry memory overhead. An attacker can send a Trailer header that declares an excessive number of fields, causing the server to allocate far more memory than intended and bypass the Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits that normally restrain header size. The excessive allocation can exhaust available memory, leading to application failure or degraded performance, and effectively triggers a denial of service. The described weakness is consistent with a resource‑exhaustion flaw.

Affected Systems

This issue affects any Go application that uses the standard library packages net/http, net/http/internal/http2, or golang.org/x/net/http2 and runs an HTTP/2 server. No specific version was listed, so all versions until the patch are potentially vulnerable.

Risk and Exploitability

The vulnerability can be exploited by any network client that has access to an HTTP/2 endpoint. It does not apply to HTTP/1 servers, as they do not support the same multiplexing of requests and calculate limits differently. The EPSS score is < 1%, indicating a low probability of exploitation in the wild, while the CVSS score of 7.5 reflects a high impact if the attack succeeds. The issue is not listed in CISA’s KEV catalog, further reducing the likelihood of known exploitation. The lack of built‑in limits makes the exploitation straightforward for an attacker who can send a large number of trailer fields over a single connection.

Generated by OpenCVE AI on October 9, 2026 at 19:30 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to a Go release that includes the fix for this issue.
  • Configure the HTTP server to enforce a maximum number of trailer fields or reject requests that exceed a safe threshold.
  • If HTTP/2 is not required, disable it for the server to eliminate the attack surface.

Generated by OpenCVE AI on October 9, 2026 at 19:30 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Ubuntu USN Ubuntu USN USN-8935-1 Go vulnerabilities
History

Fri, 09 Oct 2026 18:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-399
CWE-770

Fri, 09 Oct 2026 16:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-405
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 09 Oct 2026 09:15:00 +0000

Type Values Removed Values Added
First Time appeared Go Standard Library
Go Standard Library net/http
Go Standard Library net/http2
Vendors & Products Go Standard Library
Go Standard Library net/http
Go Standard Library net/http2

Fri, 09 Oct 2026 01:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-399
CWE-770

Thu, 08 Oct 2026 23:00:00 +0000

Type Values Removed Values Added
Description When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently.
Title HTTP/2 server memory exhaustion due to Trailer headers in net/http
References

Subscriptions

Go Standard Library Net/http Net/http2
cve-icon MITRE

Status: PUBLISHED

Assigner: Go

Published:

Updated: 2026-10-09T15:34:24.199Z

Reserved: 2026-08-24T23:36:03.109Z

Link: CVE-2026-78659

cve-icon Vulnrichment

Updated: 2026-10-09T15:27:26.255Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-08T23:17:03.270

Modified: 2026-10-09T16:35:35.900

Link: CVE-2026-78659

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-09T19:45:11Z

Weaknesses
  • CWE-405

    Asymmetric Resource Consumption (Amplification)