CVE-2022-42916: HSTS bypass via IDN
Project curl Security Advisory, October 26 2022 - Permalink
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 directly instead of using an insecure clear-text HTTP step even when HTTP is provided in the URL. This mechanism could be bypassed if the host name in the given URL 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)
We are not aware of any exploit of this flaw.
This flaw was introduced in commit 7385610d0c7, which was shipped enabled by default from commit d71ff2b9db566b3f in curl 7.77.0.
This issue is similar to the previous CVE-2022-30115.
The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2022-42916 to this issue.
CWE-319: Cleartext Transmission of Sensitive Information
- Affected versions: curl 7.77.0 to and including 7.85.0
- Not affected versions: curl < 7.77.0 and curl >= 7.86.0
libcurl is used by many applications, but not always advertised as such!
A - Upgrade curl to version 7.86.0
B - Apply the patch to your local version
C - Stick to always using
HTTPS:// in URLs
This issue was reported to the curl project on October 11, 2022. We contacted distros@openwall on October 18, 2022.
libcurl 7.86.0 was released on October 26 2022, coordinated with the publication of this advisory.
- Reported-by: Hiroki Kurosawa
- Patched-by: Daniel Stenberg
Thanks a lot!