curl / Mailing Lists / curl-users / Single Mail
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.

[SECURITY ADVISORY] curl: CVE-2024-2004: Usage of disabled protocol

From: Daniel Stenberg via curl-users <curl-users_at_lists.haxx.se>
Date: Wed, 27 Mar 2024 07:58:00 +0100 (CET)

Usage of disabled protocol
==========================

Project curl Security Advisory, March 27 2024 -
[Permalink](https://curl.se/docs/CVE-2024-2004.html)

VULNERABILITY
-------------

When a protocol selection parameter option disables all protocols without
adding any then the default set of protocols would remain in the allowed set
due to an error in the logic for removing protocols. The below command would
perform a request to curl.se with a plaintext protocol which has been
explicitly disabled.

     curl --proto -all,-http http://curl.se

The flaw is only present if the set of selected protocols disables the entire
set of available protocols, in itself a command with no practical use and
therefore unlikely to be encountered in real situations. The curl security team
has thus assessed this to be low severity bug.

INFO
----
The Common Vulnerabilities and Exposures (CVE) project has assigned the name
CVE-2024-2004 to this issue.
CWE-115: Misinterpretation of Input
Severity: Low
AFFECTED VERSIONS
-----------------
- Affected versions: curl 7.85.0 to and including 8.6.0
- Not affected versions: curl < 7.85.0 and >= 8.7.0
- Introduced-in: https://github.com/curl/curl/commit/e6f8445edef8e7996d1
libcurl is used by many applications, but not always advertised as such!
This flaw is also accessible using the curl command line tool.
SOLUTION
------------
Starting in curl 8.7.0, the set of allowed protocols is cleared before the set
of disabled protocols is inspected, leaving all protocols disabled even in the
error path.
- Fixed-in: https://github.com/curl/curl/commit/17d302e56221
RECOMMENDATIONS
--------------
  A - Upgrade curl to version 8.7.0
  B - Apply the patch to your local version
  C - Inspect any scripts which constructs curl commands with `--proto` options
      to make sure there is at least one allowed protocol
TIMELINE
--------
This issue was reported to the curl project on February 15, 2024. We contacted
distros_at_openwall on March 19, 2024.
curl 8.7.0 was released on March 27 2024 around 07:00 UTC, coordinated with
the publication of this advisory.
The curl security team is not aware of any active exploits using this
vulnerability.
CREDITS
-------
- Reported-by: Dan Fandrich
- Patched-by: Daniel Gustafsson
Thanks a lot!
-- 
  / daniel.haxx.se
-- 
Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-users
Etiquette:   https://curl.se/mail/etiquette.html
Received on 2024-03-27