Lucene search

K
hackeroneNyymiH1:1172857
HistoryApr 22, 2021 - 10:39 p.m.

curl: CVE-2021-22897: schannel cipher selection surprise

2021-04-2222:39:18
nyymi
hackerone.com
$800
6

5.3 Medium

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

LOW

Integrity Impact

NONE

Availability Impact

NONE

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

4.3 Medium

CVSS2

Access Vector

NETWORK

Access Complexity

MEDIUM

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

NONE

Availability Impact

NONE

AV:N/AC:M/Au:N/C:P/I:N/A:N

0.002 Low

EPSS

Percentile

52.5%

Summary:

Commit “schannel: support selecting ciphers” added support for selecting the ciphers with SCHANNEL. However, due to use of a static algIds array for ciphers in set_ssl_ciphers the last configured cipher list will override configuration used by other connections, leading to potential wrong configuration for them. This may have security implications if insecure cipher configuration is used where secure cipher configuration is expected.

Steps To Reproduce:

1.Create two or more separate curl handles with curl_easy_init
2. Set different cipher lists with curl_easy_setopt CURLOPT_SSL_CIPHER_LIST to the curl handles
3. Create simultaneous connections with there the separate curl handles

Instead of each connection using the specific cipher list some of them will share the wrong configuration. If/how this happens exactly depends on how the connection setup overlaps.

Note that to be vulnerable some existing application using libcurl would needs to use such mixed CURLOPT_SSL_CIPHER_LIST configuration with multiple curl handles to begin with. It is not really known how likely this really is, but it seems somewhat rare use case.

Supporting Material/References:

Impact

Potentially wrong cipher configuration used for connections.

5.3 Medium

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

LOW

Integrity Impact

NONE

Availability Impact

NONE

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

4.3 Medium

CVSS2

Access Vector

NETWORK

Access Complexity

MEDIUM

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

NONE

Availability Impact

NONE

AV:N/AC:M/Au:N/C:P/I:N/A:N

0.002 Low

EPSS

Percentile

52.5%