CVE-2021-22946
Protocol downgrade required TLS bypassed
Project curl Security Advisory, September 15th 2021 - Permalink
VULNERABILITY
A user can tell curl to require a successful upgrade
to TLS when speaking to an IMAP, POP3 or FTP server
(--ssl-reqd
on the command line or
CURLOPT_USE_SSL
set to CURLUSESSL_CONTROL
or
CURLUSESSL_ALL
with libcurl). This requirement could be
bypassed if the server would return a properly crafted but perfectly
legitimate response.
This flaw would then make curl silently continue its operations without TLS contrary to the instructions and expectations, exposing possibly sensitive data in clear text over the network.
INFO
SMTP also features a similar TLS upgrade method, but that code in curl does not suffer from this bug.
The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2021-22946 to this issue.
CWE-325: Missing Cryptographic Step
Severity: Medium
AFFECTED VERSIONS
- Affected versions: curl 7.20.0 to and including 7.78.0
- Not affected versions: curl < 7.20.0 and curl >= 7.79.0
- Introduced-in: https://github.com/curl/curl/commit/ec3bb8f727405
Also note that libcurl is used by many applications, and not always advertised as such.
SOLUTION
RECOMMENDATIONS
A - Upgrade curl to version 7.79.0
B - Apply the patch to your local version
C - Do not use IMAP, POP3 or FTP
TIMELINE
This issue was reported to the curl project on September 8, 2021.
This advisory was posted on September 15, 2021.
CREDITS
- Reported-by: Patrick Monnerat
- Patched-by: Patrick Monnerat
Thanks a lot!