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.
https://www.cisa.gov/news-events/ics-advisories/icsa-24-319-04
https://www.cisa.gov/news-events/ics-advisories/icsa-24-256-10
https://support.apple.com/en-us/HT214118
https://support.apple.com/kb/HT214120
https://support.apple.com/kb/HT214119
https://support.apple.com/kb/HT214118
https://security.netapp.com/advisory/ntap-20240524-0006/
https://hackerone.com/reports/2384833
https://curl.se/docs/CVE-2024-2004.json
https://curl.se/docs/CVE-2024-2004.html
http://www.openwall.com/lists/oss-security/2024/03/27/1
http://seclists.org/fulldisclosure/2024/Jul/20