Lucene search

K
cvelistGoCVELIST:CVE-2023-39326
HistoryDec 06, 2023 - 4:27 p.m.

CVE-2023-39326 Denial of service via chunk extensions in net/http

2023-12-0616:27:53
Go
www.cve.org
65
denial of service
chunk extensions
net/http
http sender
receiver
request
response body
network
malicious
client
server
data
handler
1gib
metadata
chunked encoding
error
ratio
real body

AI Score

6.7

Confidence

High

EPSS

0.001

Percentile

20.4%

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.

CNA Affected

[
  {
    "vendor": "Go standard library",
    "product": "net/http/internal",
    "collectionURL": "https://pkg.go.dev",
    "packageName": "net/http/internal",
    "versions": [
      {
        "version": "0",
        "lessThan": "1.20.12",
        "status": "affected",
        "versionType": "semver"
      },
      {
        "version": "1.21.0-0",
        "lessThan": "1.21.5",
        "status": "affected",
        "versionType": "semver"
      }
    ],
    "programRoutines": [
      {
        "name": "chunkedReader.beginChunk"
      },
      {
        "name": "readChunkLine"
      },
      {
        "name": "chunkedReader.Read"
      }
    ],
    "defaultStatus": "unaffected"
  }
]