Vulnerabilites related to Go standard library - net/http/internal
cve-2023-39326
Vulnerability from cvelistv5
Published
2023-12-06 16:27
Modified
2025-02-13 17:02
Severity ?
EPSS score ?
Summary
A malicious HTTP sender can use chunk extensions to cause a receiver reading from a request or response body to read many more bytes from the network than are in the body. A malicious HTTP client can further exploit this to cause a server to automatically read a large amount of data (up to about 1GiB) when a handler fails to read the entire body of a request. Chunk extensions are a little-used HTTP feature which permit including additional metadata in a request or response body sent using the chunked encoding. The net/http chunked encoding reader discards this metadata. A sender can exploit this by inserting a large metadata segment with each byte transferred. The chunk reader now produces an error if the ratio of real body to encoded bytes grows too small.
References
Impacted products
Vendor | Product | Version | ||
---|---|---|---|---|
Go standard library | net/http/internal |
Version: 0 ≤ Version: 1.21.0-0 ≤ |
{ containers: { adp: [ { providerMetadata: { dateUpdated: "2024-08-02T18:02:06.808Z", orgId: "af854a3a-2127-422b-91ae-364da2661108", shortName: "CVE", }, references: [ { tags: [ "x_transferred", ], url: "https://go.dev/issue/64433", }, { tags: [ "x_transferred", ], url: "https://go.dev/cl/547335", }, { tags: [ "x_transferred", ], url: "https://groups.google.com/g/golang-dev/c/6ypN5EjibjM/m/KmLVYH_uAgAJ", }, { tags: [ "x_transferred", ], url: "https://pkg.go.dev/vuln/GO-2023-2382", }, { tags: [ "x_transferred", ], url: "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/UIU6HOGV6RRIKWM57LOXQA75BGZSIH6G/", }, ], title: "CVE Program Container", }, ], cna: { affected: [ { collectionURL: "https://pkg.go.dev", defaultStatus: "unaffected", packageName: "net/http/internal", product: "net/http/internal", programRoutines: [ { name: "chunkedReader.beginChunk", }, { name: "readChunkLine", }, { name: "chunkedReader.Read", }, ], vendor: "Go standard library", versions: [ { lessThan: "1.20.12", status: "affected", version: "0", versionType: "semver", }, { lessThan: "1.21.5", status: "affected", version: "1.21.0-0", versionType: "semver", }, ], }, ], credits: [ { lang: "en", value: "Bartek Nowotarski", }, ], descriptions: [ { lang: "en", value: "A malicious HTTP sender can use chunk extensions to cause a receiver reading from a request or response body to read many more bytes from the network than are in the body. A malicious HTTP client can further exploit this to cause a server to automatically read a large amount of data (up to about 1GiB) when a handler fails to read the entire body of a request. Chunk extensions are a little-used HTTP feature which permit including additional metadata in a request or response body sent using the chunked encoding. The net/http chunked encoding reader discards this metadata. A sender can exploit this by inserting a large metadata segment with each byte transferred. The chunk reader now produces an error if the ratio of real body to encoded bytes grows too small.", }, ], problemTypes: [ { descriptions: [ { description: "CWE-400: Uncontrolled Resource Consumption", lang: "en", }, ], }, ], providerMetadata: { dateUpdated: "2024-01-20T04:06:26.754Z", orgId: "1bb62c36-49e3-4200-9d77-64a1400537cc", shortName: "Go", }, references: [ { url: "https://go.dev/issue/64433", }, { url: "https://go.dev/cl/547335", }, { url: "https://groups.google.com/g/golang-dev/c/6ypN5EjibjM/m/KmLVYH_uAgAJ", }, { url: "https://pkg.go.dev/vuln/GO-2023-2382", }, { url: "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/UIU6HOGV6RRIKWM57LOXQA75BGZSIH6G/", }, ], title: "Denial of service via chunk extensions in net/http", }, }, cveMetadata: { assignerOrgId: "1bb62c36-49e3-4200-9d77-64a1400537cc", assignerShortName: "Go", cveId: "CVE-2023-39326", datePublished: "2023-12-06T16:27:53.832Z", dateReserved: "2023-07-27T17:05:55.188Z", dateUpdated: "2025-02-13T17:02:50.990Z", state: "PUBLISHED", }, dataType: "CVE_RECORD", dataVersion: "5.1", }