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: n/a
EPSS: n/a
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. Because no EPSS score is available and the issue is not listed in CISA’s KEV catalog, the probability of exploitation in the wild is uncertain, but the potential impact is high if the attack succeeds. 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 00:54 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 00:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Go

Published:

Updated: 2026-10-08T22:53:58.192Z

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

Link: CVE-2026-78659

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

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

Link: CVE-2026-78659

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-09T01:00:14Z

Weaknesses
  • CWE-399
  • CWE-770

    Allocation of Resources Without Limits or Throttling