Skip to content
OpenAdvisories
Low · 3.7 Public exploit CVE-2021-22924 EUVD-2021-10053GHSA-qhhj-q26m-mrw8

libcurl keeps previously used connections in a connection pool for subsequenttransfers to reuse, if one of them matches the setup.Due to er…

Published Aug 5, 2021 · Updated Oct 14, 2026 · Assigned by hackerone

Description

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 products

VendorProductAffectedFixed
— https://github.com/curl/curl curl 7.10.4 to and include curl 7.77.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 curl 7.79.1-1 —
Debian 13 curl 7.79.1-1 —
Debian 12 curl 7.79.1-1 —
Debian 11 curl 7.74.0-1.3+deb11u2 DSA-5197-1
Debian 10 curl 7.64.0-4+deb10u3 DLA-3085-1
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Debian 9 curl 7.52.1-5+deb9u15 DLA-2734-1
ReleasePackageFixed inAdvisory
Ubuntu 20.04 LTS curl 7.68.0-1ubuntu2.6 USN-5021-1
Ubuntu 18.04 LTS curl 7.58.0-2ubuntu3.14 USN-5021-1
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 16.04 LTS curl No fix yet —
Ubuntu Pro 14.04 LTS curl No fix yet —
ReleasePackageFixed inAdvisory
RHEL 8 curl +3 7.61.1-18.el8_4.1 RHSA-2021:3582
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Red Hat Rhel Dotnet 3 rh-dotnet31-curl +2 7.61.1-22.el7_9 RHSA-2022:1354

Rocky Linux

Errata ↗
ReleasePackageFixed inAdvisory
Rocky Linux 8 curl 7.61.1-18.el8_4.1 RLSA-2021:3582
ReleasePackageFixed inAdvisory
SLES 15 SP3 curl 7.66.0-4.22.1 SUSE-SU-2021:2439-1
SLES 15 SP2 curl 7.66.0-4.22.1 SUSE-SU-2021:2439-1
SLES 15 SP1 curl 7.60.0-3.47.1 SUSE-SU-2021:2440-1
SLES 15 curl 7.60.0-3.47.1 SUSE-SU-2021:2440-1
SLES 12 SP5 curl 7.60.0-11.23.1 SUSE-SU-2021:2462-1
Show 15 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES 12 SP4 curl 7.60.0-4.25.1 SUSE-SU-2021:2425-1
SLES 11 curl-openssl1 7.37.0-70.71.1 SUSE-SU-2021:14768-1
SLES for SAP 15 SP1 curl 7.60.0-3.47.1 SUSE-SU-2021:2440-1
SLES for SAP 15 curl 7.60.0-3.47.1 SUSE-SU-2021:2440-1
SLES for SAP 12 SP5 curl 7.60.0-11.23.1 SUSE-SU-2021:2462-1
SLES for SAP 12 SP4 curl 7.60.0-4.25.1 SUSE-SU-2021:2425-1
SLE Micro 5.0 curl 7.66.0-4.22.1 SUSE-SU-2021:2439-1
SLE HPC 15 SP1 curl 7.60.0-3.47.1 SUSE-SU-2021:2440-1
SLE HPC 15 curl 7.60.0-3.47.1 SUSE-SU-2021:2440-1
SUSE OpenStack Cloud Crowbar 9 curl 7.60.0-4.25.1 SUSE-SU-2021:2425-1
SUSE OpenStack Cloud 9 curl 7.60.0-4.25.1 SUSE-SU-2021:2425-1
SUSE Manager Server 4.0 curl 7.60.0-3.47.1 SUSE-SU-2021:2440-1
SUSE Manager Retail Branch Server 4.0 curl 7.60.0-3.47.1 SUSE-SU-2021:2440-1
SUSE Manager Proxy 4.0 curl 7.60.0-3.47.1 SUSE-SU-2021:2440-1
SUSE Enterprise Storage 6 curl 7.60.0-3.47.1 SUSE-SU-2021:2440-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed curl 7.79.1-1.1 openSUSE-SU-2024:10582-1
openSUSE Leap 15.3 curl 7.66.0-4.22.1 openSUSE-SU-2021:2439-1
openSUSE Leap 15.2 curl +1 7.66.0-lp152.3.21.1 openSUSE-SU-2021:1088-1
ReleasePackageFixed inAdvisory
Alpine v3.24 curl 7.78.0-r0 —
Alpine v3.23 curl 7.78.0-r0 —
Alpine v3.22 curl 7.78.0-r0 —
Alpine v3.21 curl 7.78.0-r0 —
Alpine v3.20 curl 7.78.0-r0 —
Show 8 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Alpine v3.19 curl 7.78.0-r0 —
Alpine v3.18 curl 7.78.0-r0 —
Alpine v3.17 curl 7.78.0-r0 —
Alpine v3.16 curl 7.78.0-r0 —
Alpine v3.15 curl 7.78.0-r0 —
Alpine v3.14 curl 7.78.0-r0 —
Alpine v3.13 curl 7.78.0-r0 —
Alpine v3.12 curl 7.78.0-r0 —

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2 curl +2 7.76.1-7.amzn2.0.2 ALAS2-2021-1700

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 2 (CBL-Mariner) curl 7.76.0-5 —

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 8 curl +3 7.61.1-18.el8_4.1 ELSA-2021-3582

Public exploits

Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

GitHub 1 repository

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Advisories 30

References