CURL-CVE-2021-22926

Source
https://curl.se/docs/CVE-2021-22926.html
Import Source
https://curl.se/docs/CURL-CVE-2021-22926.json
JSON Data
https://api.osv.dev/v1/vulns/CURL-CVE-2021-22926
Aliases
Published
2021-07-21T08:00:00Z
Modified
2024-06-07T13:53:51Z
Summary
CURLOPT_SSLCERT mix-up with Secure Transport
Details

libcurl-using applications can ask for a specific client certificate to be used in a transfer. This is done with the CURLOPT_SSLCERT option (--cert with the command line tool).

When libcurl is built to use the macOS native TLS library Secure Transport, an application can ask for the client certificate by name or with a filename - using the same option. If the name exists as a file, it is used instead of by name.

If the application runs with a current working directory that is writable by other users (like /tmp), a malicious user can create a filename with the same name as the app wants to use by name, and thereby trick the application to use the file based cert instead of the one referred to by name making libcurl send the wrong client certificate in the TLS connection handshake.

References
Credits
    • Harry Sintonen - FINDER
    • Daniel Stenberg - REMEDIATION_DEVELOPER

Affected packages

Git / github.com/curl/curl.git

Affected ranges

Type
SEMVER
Events
Introduced
7.33.0
Fixed
7.78.0
Type
GIT
Repo
https://github.com/curl/curl.git
Events

Affected versions

7.*

7.33.0
7.34.0
7.35.0
7.36.0
7.37.0
7.37.1
7.38.0
7.39.0
7.40.0
7.41.0
7.42.0
7.42.1
7.43.0
7.44.0
7.45.0
7.46.0
7.47.0
7.47.1
7.48.0
7.49.0
7.49.1
7.50.0
7.50.1
7.50.2
7.50.3
7.51.0
7.52.0
7.52.1
7.53.0
7.53.1
7.54.0
7.54.1
7.55.0
7.55.1
7.56.0
7.56.1
7.57.0
7.58.0
7.59.0
7.60.0
7.61.0
7.61.1
7.62.0
7.63.0
7.64.0
7.64.1
7.65.0
7.65.1
7.65.2
7.65.3
7.66.0
7.67.0
7.68.0
7.69.0
7.69.1
7.70.0
7.71.0
7.71.1
7.72.0
7.73.0
7.74.0
7.75.0
7.76.0
7.76.1
7.77.0