FlawAtlas
Search the atlas
CVE-2021-22926 Moderate

CURLOPT_SSLCERT mix-up with Secure Transport

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.

Exploit probability 9.8%
Published July 21, 2021
Required by Not available
Last source change May 27, 2026

02 / AFFECTED SOFTWARE

Affected packages

Unknown Unknown

79 explicit affected versions

Unknown Unknown

131 explicit affected versions

03 / CONNECTIONS

Connected vulnerabilities

04 / EVIDENCE

Source records

Open Source Vulnerabilities CVE-2021-22926

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 file name - using the same option. If the name exists as a file, it will be used instead of by name.If the appliction runs with a current working directory that is writable by other users (like `/tmp`), a malicious user can create a file name 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.

View original source
Open Source Vulnerabilities CURL-CVE-2021-22926

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.

View original source

05 / REFERENCES

Further evidence