curl / Docs / curl CVEs / Usage of disabled protocol
Awarded 540 USD

CVE-2024-2004

Usage of disabled protocol

Project curl Security Advisory, March 27 2024 - Permalink

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

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.

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@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

Thanks a lot!