curl supports "chained" HTTP compression algorithms, meaning that a server response can be compressed multiple times and potentially with different algorithms. The number of acceptable "links" in this "decompression chain" was unbounded, allowing a malicious server to insert a virtually unlimited number of compression steps.
The use of such a decompression chain could result in a "malloc bomb", making curl end up spending enormous amounts of allocated heap memory, or trying to and returning out of memory errors.
{
"URL": "https://curl.se/docs/CVE-2022-32206.json",
"last_affected": "7.83.1",
"severity": "Medium",
"issue": "https://hackerone.com/reports/1570651",
"affects": "both",
"package": "curl",
"www": "https://curl.se/docs/CVE-2022-32206.html",
"CWE": {
"id": "CWE-770",
"desc": "Allocation of Resources Without Limits or Throttling"
},
"award": {
"currency": "USD",
"amount": "2400"
}
}[
{
"source": "https://github.com/curl/curl.git/commit/3a09fbb7f264c67c438d01a30669ce325aa508e2",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "lib/content_encoding.c"
},
"id": "CURL-CVE-2022-32206-2afb59a3",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"45157733837481580733201877978631346553",
"289994305010963280595464022725692321783",
"285418258574578001939871387444273795700",
"36972230101229254421458880172651761630",
"258485294902386500308213611257281103675",
"223508019877366983451146801494110424292",
"111336570175832252860899159343638748825",
"306740132958412367269024066267076989494",
"249434907631169292432704525991203976794",
"24000321900336010795433163882969240477"
]
}
},
{
"source": "https://github.com/curl/curl.git/commit/3a09fbb7f264c67c438d01a30669ce325aa508e2",
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "Curl_build_unencoding_stack",
"file": "lib/content_encoding.c"
},
"id": "CURL-CVE-2022-32206-c8d05009",
"signature_type": "Function",
"digest": {
"length": 874.0,
"function_hash": "135163556199857411550722417587621050098"
}
}
]