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.
| Software | From | Fixed in |
|---|---|---|
| haxx / curl | 7.84.0 | 8.3.0 |
| fedoraproject / fedora | 38 | 38.x |
| fedoraproject / fedora | 37 | 37.x |
| fedoraproject / fedora | 39 | 39.x |
| microsoft / windows_10_22h2 | - | 10.0.19045.3693 |
| microsoft / windows_11_21h2 | - | 10.0.22000.2600 |
| microsoft / windows_11_22h2 | - | 10.0.22621.2715 |
| microsoft / windows_11_23h2 | - | 10.0.22631.2715 |
| microsoft / windows_10_1809 | - | 10.0.17763.5122 |
| microsoft / windows_server_2019 | - | 10.0.17763.5122 |
| microsoft / windows_server_2022 | - | 10.0.20348.2113 |
| microsoft / windows_10_21h2 | - | 10.0.19044.3693 |