Multiple vulnerabilities in cURL



Published: 2021-05-26
Risk High
Patch available YES
Number of vulnerabilities 3
CVE-ID CVE-2021-22897
CVE-2021-22898
CVE-2021-22901
CWE-ID CWE-326
CWE-457
CWE-416
Exploitation vector Network
Public exploit N/A
Vulnerable software
Subscribe
cURL
Client/Desktop applications / Other client software

Vendor curl.haxx.se

Security Bulletin

This security bulletin contains information about 3 vulnerabilities.

1) Inadequate encryption strength

EUVDB-ID: #VU53584

Risk: Low

CVSSv3.1: 3.7 [CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N/E:U/RL:O/RC:C]

CVE-ID: CVE-2021-22897

CWE-ID: CWE-326 - Inadequate Encryption Strength

Exploit availability: No

Description

The vulnerability allows a remote attacker to force applications use weak cryptographic ciphers.

The vulnerability exists due to a logic error when selecting TLS ciphers during connection via the CURLOPT_SSL_CIPHER_LIST option in libcurl. The selected cipher set was stored in a single "static" variable in the library that is used for multiple concurrent transfers within the specific application, the last one that sets the ciphers will accidentally control the set used by all transfers.

The vulnerability can be triggered when Schannel is used, which is the native TLS library in Microsoft Windows.

Mitigation

Install updates from vendor's website.

Vulnerable software versions

cURL: 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

CPE2.3 External links

http://curl.haxx.se/docs/CVE-2021-22897.html

Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability.

2) Use of uninitialized variable

EUVDB-ID: #VU53587

Risk: Medium

CVSSv3.1: 4.1 [CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N/E:U/RL:O/RC:C]

CVE-ID: CVE-2021-22898

CWE-ID: CWE-457 - Use of Uninitialized Variable

Exploit availability: No

Description

The vulnerability allows a remote attacker to gain access to sensitive information.

The vulnerability exists due to usage of uninitialized variable in code, responsible for processing TELNET requests when parsing NEW_ENV variables. A remote attacker can force the affected application to connect to a telnet server under attackers control and read up to 1800 bytes from the uninitialized memory on the libcurl client system.

Proof of concept:

curl telnet://example.com -tNEW_ENV=a,bbbbbb (256 'b's)

Mitigation

Install updates from vendor's website.

Vulnerable software versions

cURL: 7.7, 7.7.1, 7.7.2, 7.7.3, 7.8, 7.8.1, 7.8.2, 7.9, 7.9.1, 7.9.2, 7.9.3, 7.9.4, 7.9.5, 7.9.6, 7.9.7, 7.9.8, 7.10, 7.10.1, 7.10.2, 7.10.3, 7.10.4, 7.10.5, 7.10.6, 7.10.7, 7.10.8, 7.11.0, 7.11.1, 7.11.2, 7.12, 7.12.0, 7.12.1, 7.12.2, 7.12.3, 7.13, 7.13.0, 7.13.1, 7.13.2, 7.14, 7.14.0, 7.14.1, 7.15, 7.15.0, 7.15.1, 7.15.2, 7.15.3, 7.15.4, 7.15.5, 7.16.0, 7.16.1, 7.16.2, 7.16.3, 7.16.4, 7.17, 7.17.0, 7.17.1, 7.18, 7.18.0, 7.18.1, 7.18.2, 7.19.0, 7.19.1, 7.19.2, 7.19.3, 7.19.4, 7.19.5, 7.19.6, 7.19.7, 7.20.0, 7.20.1, 7.21.0, 7.21.1, 7.21.2, 7.21.3, 7.21.4, 7.21.5, 7.21.6, 7.21.7, 7.22.0, 7.23.0, 7.23.1, 7.24.0, 7.25.0, 7.26.0, 7.27.0, 7.28.0, 7.28.1, 7.29.0, 7.30.0, 7.31.0, 7.32.0, 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

CPE2.3 External links

http://curl.haxx.se/docs/CVE-2021-22898.html

Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability.

3) Use-after-free

EUVDB-ID: #VU53589

Risk: High

CVSSv3.1: 7.1 [CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C]

CVE-ID: CVE-2021-22901

CWE-ID: CWE-416 - Use After Free

Exploit availability: No

Description

The vulnerability allows a remote attacker to crash the application or compromise the vulnerable system.

The vulnerability exists due to a use-after-free error when processing creation of new TLS sessions or during client certificate negotiation. A remote attacker can force the application to connect to a malicious server, trigger a use-after-free error and crash the application.

Remote code execution is also possible if the application can be forced to initiate multiple transfers with a reused HTTP/1.1 connection or multiplexed HTTP/2 connection in order to inject a crafted memory content into the correct place in memory.

Successful exploitation of the vulnerability may allow an attacker to compromise vulnerable system but requires that libcurl is using OpenSSL.

Mitigation

Install updates from vendor's website.

Vulnerable software versions

cURL: 7.75.0, 7.76.0, 7.76.1

CPE2.3 External links

http://curl.haxx.se/docs/CVE-2021-22901.html

Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability.



###SIDEBAR###