When curl retrieves an HTTP response, it stores the incoming headers so that they can be accessed later via the libcurl headers API.
However, curl did not have a limit in how many or how large headers it would accept in a response, allowing a malicious server to stream an endless series of headers and eventually cause curl to run out of heap memory.
[
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "37"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "38"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "39"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"fixed": "10.0.17763.5122"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"fixed": "10.0.19044.3693"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"fixed": "10.0.19045.3693"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"fixed": "10.0.22000.2600"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"fixed": "10.0.22621.2715"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"fixed": "10.0.22631.2715"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"fixed": "10.0.17763.5122"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"fixed": "10.0.20348.2113"
}
]
}
]
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-38039.json"