HexBrain

Internet Bug Bounty · Report #1874715

CVE-2023-23914: HSTS ignored on multiple requests

Validstatus
lowseverity
$480bounty
8upvotes
24 Feb 2023disclosed

Summary

CVE-2023-23914: HSTS ignored on multiple requests Project curl Security Advisory, February 15 2023

VULNERABILITY curl's HSTS functionality fail when multiple URLs are requested serially.

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. This HSTS mechanism would however suprisingly be ignored by subsequent transfers when done on the same command line because the state would not be properly carried on.

Reproducible like this:

curl --hsts "" https://curl.se http://curl.se The first URL returns HSTS information that the second URL fails to take advantage of.

We are not aware of any exploit of this flaw.

INFO This is a curl command line issue and does not affect libcurl.

This flaw was introduced in commit 7385610d0c7, which was shipped enabled by default from commit d71ff2b9db566b3f in curl 7.77.0.

The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2023-23914 to this issue.

CWE-319: Cleartext Transmission of Sensitive Information

Severity: Low

Full Security Advisory: https://curl.se/docs/CVE-2023-23914.html

How it was found

curl's HSTS functionality fail when multiple URLs are requested serially.

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. This HSTS mechanism would however suprisingly be ignored by subsequent transfers when done on the same command line because the state would not be properly carried on.

Impact

Bypass intended security control.

This report was disclosed publicly on HackerOne and belongs to its author and the program. See the original