CVE-2021-22924: Input Validation
A flaw was found in libcurl in the way libcurl handles previously used connections without accounting for 'issuer cert' and comparing the involved paths case-insensitively. This flaw allows libcurl to use the wrong connection. The highest threat from this vulnerability is to confidentiality.
Other sources
libcurl keeps previously used connections in a connection pool for subsequent transfers to reuse, if one of them matches the setup. Due to errors in the logic, the config matching function did not take 'issuer cert' into account and it compared the involved paths case insensitively, which could lead to libcurl reusing wrong connections. File paths are, or can be, case sensitive on many systems but not all, and can even vary depending on used file systems. The comparison also didn't include the 'issuer cert' which a transfer can set to qualify how to verify the server certificate.
— Red Hat
libcurl keeps previously used connections in a connection pool for subsequenttransfers to reuse, if one of them matches the setup.Due to errors in the logic, the config matching function did not take 'issuercert' into account and it compared the involved paths case insensitively,which could lead to libcurl reusing wrong connections.File paths are, or can be, case sensitive on many systems but not all, and caneven vary depending on used file systems.The comparison also didn't include the 'issuer cert' which a transfer can setto qualify how to verify the server certificate.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
redhat/rh-dotnet31-curlto a version that resolves this vulnerability.Fixed in 0:7.61.1-22.el7_9 - Upgrade
Upgrade
redhat/curlto a version that resolves this vulnerability.Fixed in 0:7.61.1-18.el8_4.1 - Upgrade
Upgrade
debian/curlto a version that resolves this vulnerability.Fixed in 7.64.0-4+deb10u7Fixed in 7.74.0-1.3+deb11u9Fixed in 7.74.0-1.3+deb11u10Fixed in 7.88.1-10+deb12u3Fixed in 7.88.1-10+deb12u4Fixed in 8.4.0-2 - Upgrade
Upgrade
redhat/curlto a version that resolves this vulnerability.Fixed in 7.78.0 - Upgrade
Upgrade
curlto a version that resolves this vulnerability.Fixed in 7.78.0
Event History
Parent advisories
This vulnerability appears in the following advisories.
Frequently Asked Questions
What is the severity of CVE-2021-22924?
CVE-2021-22924 is considered a medium-severity vulnerability.
How do I fix CVE-2021-22924?
To fix CVE-2021-22924, upgrade to the patched versions of libcurl as specified in the vulnerability advisory.
What types of systems are affected by CVE-2021-22924?
CVE-2021-22924 affects various systems that use libcurl, including specific versions of Red Hat and Debian packages.
What can attackers achieve with CVE-2021-22924?
Attackers can exploit CVE-2021-22924 to perform unauthorized connections due to improper handling of certificate issuer checks.
Is there a workaround for CVE-2021-22924 while awaiting a fix?
A workaround for CVE-2021-22924 is not officially documented, so it is recommended to apply the available patches.