Lucene search

K
osvGoogleOSV:CURL-CVE-2022-43551
HistoryDec 21, 2022 - 8:00 a.m.

Another HSTS bypass via IDN

2022-12-2108:00:00
Google
osv.dev

7.5 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

NONE

Availability Impact

NONE

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

7.4 High

AI Score

Confidence

High

0.001 Low

EPSS

Percentile

41.7%

curl’s HSTS check could be bypassed to trick it to keep using HTTP.

Using its HSTS support, curl can be instructed to use HTTPS instead of using
an insecure clear-text HTTP step even when HTTP is provided in the URL.

The HSTS mechanism could be bypassed if the hostname in the given URL first
uses IDN characters that get replaced to ASCII counterparts as part of the IDN
conversion. Like using the character UTF-8 U+3002 (IDEOGRAPHIC FULL STOP)
instead of the common ASCII full stop (U+002E). Then in a subsequent request,
it does not detect the HSTS state and makes a clear text transfer. Because it
would store the info IDN encoded but look for it IDN decoded.

Reproducible like this:

curl --hsts hsts.txt https://curl%E3%80%82se
curl --hsts hsts.txt http://curl%E3%80%82se

7.5 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

NONE

Availability Impact

NONE

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

7.4 High

AI Score

Confidence

High

0.001 Low

EPSS

Percentile

41.7%