Ecosyste.ms: Advisories

An open API service providing security vulnerability metadata for many open source software ecosystems.

Security Advisories: GSA_kwCzR0hTQS00djd4LXBxeGYtY3g3bc4AA6pf

net/http, x/net/http2: close connections when receiving too many headers

An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames. Maintaining HPACK state requires parsing and processing all HEADERS and CONTINUATION frames on a connection. When a request's headers exceed MaxHeaderBytes, no memory is allocated to store the excess headers, but they are still parsed. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. The fix sets a limit on the amount of excess header frames we will process before closing a connection.

Permalink: https://github.com/advisories/GHSA-4v7x-pqxf-cx7m
JSON: https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS00djd4LXBxeGYtY3g3bc4AA6pf
Source: GitHub Advisory Database
Origin: Unspecified
Severity: Moderate
Classification: General
Published: 28 days ago
Updated: 7 days ago


CVSS Score: 5.3
CVSS vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

Identifiers: GHSA-4v7x-pqxf-cx7m, CVE-2023-45288
References: Blast Radius: 28.8

Affected Packages

go:golang.org/x/net
Dependent packages: 112,044
Dependent repositories: 276,704
Downloads:
Affected Version Ranges: < 0.23.0
Fixed in: 0.23.0
All affected versions: 0.1.0, 0.2.0, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.7.0, 0.8.0, 0.9.0, 0.10.0, 0.11.0, 0.12.0, 0.13.0, 0.14.0, 0.15.0, 0.16.0, 0.17.0, 0.18.0, 0.19.0, 0.20.0
All unaffected versions:
go:net/http
Affected Version Ranges: >= 1.22.0-0, < 1.22.2, < 1.21.9
Fixed in: 1.22.2, 1.21.9
go:golang.org/x/net/http2
Affected Version Ranges: < 0.23.0
Fixed in: 0.23.0