Internet Bug Bounty · Report #1912778
CVE-2023-27535: FTP too eager connection reuse
Summary
CVE-2023-27535: FTP too eager connection reuse
Project curl Security Advisory, March 20th 2023 - Permalink
VULNERABILITY
libcurl would reuse a previously created FTP connection even when or more options had been changed that could have made the effective user a very different one, thus leading to the doing the second transfer with wrong credentials.
libcurl keeps previously used connections in a connection pool for subsequent
transfers to reuse if one of them matches the setup. However, several FTP
settings were left out from the configuration match checks, making them match
too easily. The settings in questions are CURLOPT_FTP_ACCOUNT,
CURLOPT_FTP_ALTERNATIVE_TO_USER, CURLOPT_FTP_SSL_CCC and CURLOPT_USE_SSL
level.
We are not aware of any exploit of this flaw.
INFO
CVE-2023-27535 was introduced in commit 177dbc7be07125582, shipped in curl 7.13.0.
CWE-305: Authentication Bypass by Primary Weakness
Severity: Medium
AFFECTED VERSIONS
- Affected versions: curl 7.13.0 to and including 7.88.1
- Not affected versions: curl < 7.13.0 and curl >= 8.0.0
libcurl is used by many applications, but not always advertised as such!
THE SOLUTION
RECOMMENDATIONS
A - Upgrade curl to version 8.0.0
B - Apply the patch to your local version
How it was found
libcurl would reuse a previously created FTP connection even when one or more options had been changed that could have made the effective user a very different one, thus leading to the doing the second transfer with wrong credentials.
libcurl keeps previously used connections in a connection pool for subsequent transfers to reuse if one of them matches the setup. However, several FTP settings were left out from the configuration match checks, making them match too easily. The settings in questions are CURLOPT_FTP_ACCOUNT, CURLOPT_FTP_ALTERNATIVE_TO_USER, CURLOPT_FTP_SSL_CCC and CURLOPT_USE_SSL level.
Hackerone report
#1892780
Impact
Accessing content with wrong cached credentials.