Buy commercial curl support from WolfSSL. We help you work
out your issues, debug your libcurl applications, use the API, port to new
platforms, add new features and more. With a team lead by the curl founder
himself.
curl: CVE-2023-23916: HTTP multi-header compression denial of service
- Contemporary messages sorted: [ by date ] [ by thread ] [ by subject ] [ by author ] [ by messages with attachments ]
From: Daniel Stenberg via curl-users <curl-users_at_lists.haxx.se>
Date: Wed, 15 Feb 2023 08:28:58 +0100 (CET)
CVE-2023-23916: HTTP multi-header compression denial of service
===============================================================
Project curl Security Advisory, February 15th 2023 -
[Permalink](https://curl.se/docs/CVE-2023-23916.html)
VULNERABILITY
-------------
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
capped, but the cap was implemented on a per-header basis allowing a malicious
server to insert a virtually unlimited number of compression steps simply by
using many headers.
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.
We are not aware of any exploit of this flaw.
INFO
Date: Wed, 15 Feb 2023 08:28:58 +0100 (CET)
CVE-2023-23916: HTTP multi-header compression denial of service
===============================================================
Project curl Security Advisory, February 15th 2023 -
[Permalink](https://curl.se/docs/CVE-2023-23916.html)
VULNERABILITY
-------------
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
capped, but the cap was implemented on a per-header basis allowing a malicious
server to insert a virtually unlimited number of compression steps simply by
using many headers.
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.
We are not aware of any exploit of this flaw.
INFO
---- CVE-2023-23916 was introduced in [commit dbcced8e32b50c06](https://github.com/curl/curl/commit/dbcced8e32b50c06), shipped in curl 7.57.0. Automatic decompression of content needs to be enabled per transfer. It is disabled by default and then nothing bad happens. This flaw exists with one or more of the compression algorithms built-in (gzip, brotli or zstd), but the individual algorithms have different "exploding" powers. Both `Content-Encoding:` and `Transfer-Encoding:` are affected over all HTTP versions. This flaw is almost identical to the previous [CVE-2022-32206: HTTP compression denial of service](https://curl.se/docs/CVE-2022-32206.html), as the fix for that earlier flaw was incomplete. CWE-770: Allocation of Resources Without Limits or Throttling Severity: Medium AFFECTED VERSIONS ----------------- - Affected versions: curl 7.57.0 to and including 7.87.0 - Not affected versions: curl < 7.57.0 and curl >= 7.87.0 libcurl is used by many applications, but not always advertised as such! THE SOLUTION ------------ The amount of accepted "chained" algorithms is now capped to 5 in total, independently of the number of headers. A [fix for CVE-2023-23916](https://github.com/curl/curl/commit/119fb187192a9ea13dc) RECOMMENDATIONS -------------- A - Upgrade curl to version 7.88.0 B - Apply the patch to your local version C - Do not enable automatic decompression TIMELINE -------- This issue was reported to the curl project on January 8, 2023. We contacted distros_at_openwall on February 7, 2023. libcurl 7.88.0 was released on February 15 2023, coordinated with the publication of this advisory. CREDITS ------- - Reported-by: Patrick Monnerat - Patched-by: Patrick Monnerat Thanks a lot! -- / daniel.haxx.se | Commercial curl support up to 24x7 is available! | Private help, bug fixes, support, ports, new features | https://curl.se/support.html -- Unsubscribe: https://lists.haxx.se/listinfo/curl-users Etiquette: https://curl.se/mail/etiquette.htmlReceived on 2023-02-15