CVE-2022-43551
Plain English Summary
AI-powered analysis for quick understanding
An attacker can trick curl into using an insecure HTTP connection instead of the intended secure HTTPS by manipulating the URL with special characters that confuse the software's security checks. This vulnerability occurs when the URL contains IDN characters that are converted to ASCII, allowing the attacker to bypass the HSTS protection that should enforce secure connections.
Technical Description
A vulnerability exists in curl <7.87.0 HSTS check that 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. However, the HSTS mechanism could be bypassed if the host name 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.
CVSS Vector Analysis
Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:NExploit Resources
Search for proof-of-concept code and exploit modules
Official References
Quick Information
Published
Dec 23, 2022
over 3 years ago
Last Modified
Feb 13, 2026
about 2 months ago
Vendor
haxx
Product
curl
Related Vulnerabilities
This vulnerability allows an attacker to potentially execute arbitrary code on a system using curl when making a second SMB request to the same host, due to the software mistakenly using memory that has already been freed. To exploit this, the attacker must be able to send multiple SMB requests to the same server, which could happen in certain network configurations.
This vulnerability allows an attacker to potentially gain access to sensitive information by reusing an existing HTTP proxy connection, even if the new request uses different login credentials. This issue occurs when the curl tool fails to establish a separate connection for requests that require different authentication, which could lead to unauthorized data exposure if an attacker can control the proxy or its traffic.
This vulnerability allows an attacker to potentially capture an OAuth2 bearer token when a user is redirected from one website to another, exposing sensitive information. This can happen if the second website has credentials stored in the user's .netrc file, which curl mistakenly sends along with the token.
This vulnerability allows an attacker to potentially access sensitive information by reusing an existing connection that was authenticated with different user credentials, leading to unauthorized actions. This can happen if an application makes multiple requests to the same server using Negotiate authentication, where the first request is authenticated with one user's credentials and the second request mistakenly uses that same connection, thinking it's authenticated with a different user's credentials.
This vulnerability allows an attacker to potentially send incorrect data during an HTTP POST request if the same connection handle was previously used for a PUT request, which could lead to unexpected application behavior. It mainly affects applications that reuse connection handles without properly resetting them, making it important for developers to be cautious when switching between different types of requests.