SSH connection too eager reuse still
Project curl Security Advisory, March 20th 2023 - Permalink
libcurl would reuse a previously created connection even when an SSH related option had been changed that should have prohibited reuse.
libcurl keeps previously used connections in a connection pool for subsequent transfers to reuse if one of them matches the setup. However, two SSH settings were left out from the configuration match checks, making them match too easily.
These are the options that were not considered in the check, so curl would reuse a connection even if the subsequent transfer would have changed one or more of these options.
This flaw was initially introduced in curl 7.16.1.
The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2023-27538 to this issue.
This vulnerability is partially identical to CVE-2022-27782 since the fix for that previous issue was bad and did not actually correct the problem for these SSH options.
CWE-305: Authentication Bypass by Primary Weakness
The previous flaw, CVE-2022-27782, was set to a severity of Medium, but since this is a partial of that and affects only two options that rarely will change with the expectation that the user will be different, this time we set it to a severity of Low.
- Affected versions: curl 7.16.1 to and including 7.88.1
- Not affected versions: curl < 7.16.1 and curl >= 8.0.0
- Introduced-in: https://github.com/curl/curl/commit/2147284cad
libcurl is used by many applications, but not always advertised as such!
A - Upgrade curl to version 8.0.0
B - Apply the patch to your local version
C - Avoid SCP and SFTP transfers
This issue was reported to the curl project on March 9 2023. We contacted distros@openwall on March 13, 2023.
curl 8.0.0 was released on March 20 2023, coordinated with the publication of this advisory.
- Reported-by: Harry Sintonen
- Patched-by: Daniel Stenberg
Thanks a lot!