Vulnerabilites related to Go standard library - net/http/internal
cve-2025-22871
Vulnerability from cvelistv5
Published
2025-04-08 20:04
Modified
2025-04-18 14:57
Severity ?
EPSS score ?
Summary
The net/http package improperly accepts a bare LF as a line terminator in chunked data chunk-size lines. This can permit request smuggling if a net/http server is used in conjunction with a server that incorrectly accepts a bare LF as part of a chunk-ext.
References
Impacted products
Vendor | Product | Version | ||
---|---|---|---|---|
Go standard library | net/http/internal |
Version: 0 ≤ Version: 1.24.0-0 ≤ |
{ containers: { adp: [ { providerMetadata: { dateUpdated: "2025-04-08T21:03:21.913Z", orgId: "af854a3a-2127-422b-91ae-364da2661108", shortName: "CVE", }, references: [ { url: "http://www.openwall.com/lists/oss-security/2025/04/04/4", }, ], title: "CVE Program Container", }, { metrics: [ { cvssV3_1: { attackComplexity: "LOW", attackVector: "NETWORK", availabilityImpact: "NONE", baseScore: 9.1, baseSeverity: "CRITICAL", confidentialityImpact: "HIGH", integrityImpact: "HIGH", privilegesRequired: "NONE", scope: "UNCHANGED", userInteraction: "NONE", vectorString: "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N", version: "3.1", }, }, { other: { content: { id: "CVE-2025-22871", options: [ { Exploitation: "none", }, { Automatable: "yes", }, { "Technical Impact": "total", }, ], role: "CISA Coordinator", timestamp: "2025-04-18T14:57:03.151639Z", version: "2.0.3", }, type: "ssvc", }, }, ], providerMetadata: { dateUpdated: "2025-04-18T14:57:31.331Z", orgId: "134c704f-9b21-4f2e-91b3-4a467353bcc0", shortName: "CISA-ADP", }, title: "CISA ADP Vulnrichment", }, ], cna: { affected: [ { collectionURL: "https://pkg.go.dev", defaultStatus: "unaffected", packageName: "net/http/internal", product: "net/http/internal", programRoutines: [ { name: "readChunkLine", }, { name: "chunkedReader.Read", }, ], vendor: "Go standard library", versions: [ { lessThan: "1.23.8", status: "affected", version: "0", versionType: "semver", }, { lessThan: "1.24.2", status: "affected", version: "1.24.0-0", versionType: "semver", }, ], }, ], credits: [ { lang: "en", value: "Jeppe Bonde Weikop", }, ], descriptions: [ { lang: "en", value: "The net/http package improperly accepts a bare LF as a line terminator in chunked data chunk-size lines. This can permit request smuggling if a net/http server is used in conjunction with a server that incorrectly accepts a bare LF as part of a chunk-ext.", }, ], problemTypes: [ { descriptions: [ { description: "CWE-444: Inconsistent Interpretation of HTTP Requests ('HTTP Request Smuggling')", lang: "en", }, ], }, ], providerMetadata: { dateUpdated: "2025-04-08T20:04:34.769Z", orgId: "1bb62c36-49e3-4200-9d77-64a1400537cc", shortName: "Go", }, references: [ { url: "https://go.dev/cl/652998", }, { url: "https://go.dev/issue/71988", }, { url: "https://groups.google.com/g/golang-announce/c/Y2uBTVKjBQk", }, { url: "https://pkg.go.dev/vuln/GO-2025-3563", }, ], title: "Request smuggling due to acceptance of invalid chunked data in net/http", }, }, cveMetadata: { assignerOrgId: "1bb62c36-49e3-4200-9d77-64a1400537cc", assignerShortName: "Go", cveId: "CVE-2025-22871", datePublished: "2025-04-08T20:04:34.769Z", dateReserved: "2025-01-08T19:11:42.834Z", dateUpdated: "2025-04-18T14:57:31.331Z", state: "PUBLISHED", }, dataType: "CVE_RECORD", dataVersion: "5.1", }
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", }