Skip to main content
No exploitation reportedFix available

CVE-2021-22901

No exploitation reported by the sources we read.

  • Published2021-06-11
  • Fixed in9.0.6 · 8.2.12
  • WeaknessCWE-416

Am I affected?

With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.

Description

curl 7.75.0 through 7.76.1 suffers from a use-after-free vulnerability resulting in already freed memory being used when a TLS 1.3 session ticket arrives over a connection. A malicious server can use this in rare unfortunate circumstances to potentially reach remote code execution in the client. When libcurl at run-time sets up support for TLS 1.3 session tickets on a connection using OpenSSL, it stores pointers to the transfer in-memory object for later retrieval when a session ticket arrives. If the connection is used by multiple transfers (like with a reused HTTP/1.1 connection or multiplexed HTTP/2 connection) that first transfer object might be freed before the new session is established on that connection and then the function will access a memory buffer that might be freed. When using that memory, libcurl might even call a function pointer in the object, making it possible for a remote code execution if the server could somehow manage to get crafted memory content into the correct place in memory.

Timeline

dates in UTC
  1. 2021-06-1116:15CVE publishedNVD

Versions per branch

NVD
Splunk universal forwarder
BranchAffectedFixed in
9.0≥ 9.0.0, < 9.0.69.0.6
8.2≥ 8.2.0, < 8.2.128.2.12
9.1= 9.1.0no fix published
Oracle communications cloud native core network repository function
BranchAffectedFixed in
1.15= 1.15.0no fix published
1.15= 1.15.1no fix published
Oracle essbase
BranchAffectedFixed in
21.x≥ 21.0, < 21.321.3
11.1< 11.1.2.4.04711.1.2.4.047

23 more products in the sources.

as publishedRanges as NVD and OSV publish them; a distribution’s build can be fixed under an older number.

Products declared by the CNA1 product

As hackerone, the CNA that assigned this CVE, declared them in the CVE record; versions as written.

  • https://github.com/curl/curl
    Affected
    • = 7.75.0 through 7.76.1no fix stated

Source: the CNA record (CVE Program), © The MITRE Corporation,CVE Terms of UseCVE recordupdated 2022-05-10

Distribution builds and vendor advisories

Packages from OSV.dev and products from the vendors' CSAF advisories.

version not verifiedVersions not verified: read as OSV.dev and the vendors publish them, not checked against each vendor's release list.

Packages

  • curlopenSUSE:Tumbleweedall versions · fixed in 7.79.1-1.1
  • curlCleanStartall versions · fixed in 7.77.0-r0
  • curlAzure Linux:2all versions · fixed in 7.76.0-5
  • curlAlpine:v3.24from 7.75.0 · fixed in 7.77.0-r0
  • curlAlpine:v3.23from 7.75.0 · fixed in 7.77.0-r0
  • curlAlpine:v3.22from 7.75.0 · fixed in 7.77.0-r0
  • curlAlpine:v3.21from 7.75.0 · fixed in 7.77.0-r0
  • curlAlpine:v3.20from 7.75.0 · fixed in 7.77.0-r0

37 more package ranges on OSV.dev

Vendor advisories

  • CVE-2021-22901 Red Hat Product Security144 products fixed

    curl: Use-after-free in TLS session handling when using OpenSSL TLS backend

  • ICSA-23-348-10 CISA5 known affected

    Siemens SIMATIC S7-1500

    SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) · SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) · SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) · +2 more

  • SSA-398330 Siemens ProductCERT5 known affected

    SSA-398330: Vulnerabilities in the additional GNU/Linux subsystem of the SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP >= V3.1.0 and < V3.1.5

    SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) >= V3.1.0 < V3.1.5 · SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) >= V3.1.0 < V3.1.5 · SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) >= V3.1.0 < V3.1.5 · +2 more

  • ICSA-22-132-13 CISA11 known affected

    Siemens Industrial Devices using libcurl

    SIMATIC CP 1242-7 V2 · SIMATIC CP 1243-1 · SIMATIC CP 1243-7 LTE EU · +8 more

  • SSA-732250 Siemens ProductCERT11 known affected

    SSA-732250: Libcurl Vulnerabilities in Industrial Devices

    SIMATIC CP 1242-7 V2 · SIMATIC CP 1243-1 · SIMATIC CP 1243-7 LTE EU · +8 more

  • ICSA-22-069-09 CISA1 known affected

    Siemens SINEC INS

    SINEC INS

3 more advisories

Full record on NVD

Fix

  1. Update Splunk universal forwarder to 9.0.6 · 8.2.12
  2. Vendor fix CISA ICSA-23-348-10 · 5 productsUpdate to V3.1.5 or later version
  3. Vendor fix Siemens ProductCERT SSA-398330 · 1 productUpdate to V3.1.5 or later version
  4. Vendor fix Siemens ProductCERT SSA-732250 · 1 productUpdate to V1.1 or later version
  5. Vendor fix Siemens ProductCERT SSA-732250 · 2 productsUpdate to V3.0.22 or later version
  6. Vendor fix Siemens ProductCERT SSA-732250 · 8 productsUpdate to V3.3.46 or later version
  7. Vendor fix CISA ICSA-22-132-13 · 1 productUpdate to V1.1 or later version

Advisories and patches

Detection

Nuclei template
none so far
ProjectDiscovery
Exploit-DB
no entry
Exploit-DB
Proof of concept
Metasploit modules
none listed
Metasploit Framework

Sources

  • CISA-ADPSSVC decisionnone2026-10-08
  • NVDCVSS 3.18.1read 2026-10-23
  • NVDCVSS 2.06.8read 2026-10-23
  • CNAweakness (CWE)CWE-416known since 2026-10-23
  • NVDweakness (CWE)CWE-416read 2026-10-23
  • FIRST EPSSEPSS score63.5 %read 2026-11-09
  • OSVaffected packages—
  • GitHub Advisoriesadvisory—

Identifiers

Technical details

CVSS v3 Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Published
2021-06-11
Last Modified
2026-10-14
NVD status
Modified
GitHub Advisory
GHSA-vjwf-ghhc-2p8q

Frequently asked questions

What is CVE-2021-22901?

curl 7.75.0 through 7.76.1 suffers from a use-after-free vulnerability resulting in already freed memory being used when a TLS 1.3 session ticket arrives over a connection. A malicious server can use this in rare unfortunate circumstances to potentially reach remote code execution in the client. When libcurl at run-time sets up support for TLS 1.3 session tickets on a connection using OpenSSL, it stores pointers to the transfer in-memory object for later retrieval when a session ticket arrives. If the connection is used by multiple transfers (like with a reused HTTP/1.1 connection or multiplexed HTTP/2 connection) that first transfer object might be freed before the new session is established on that connection and then the function will access a memory buffer that might be freed. When using that memory, libcurl might even call a function pointer in the object, making it possible for a remote code execution if the server could somehow manage to get crafted memory content into the correct place in memory.

Is CVE-2021-22901 actively exploited?

Active exploitation of CVE-2021-22901 has not been confirmed. Its EPSS score was 63.5% on 2026-11-08, the estimated probability of exploitation in the next 30 days.

What is the CVSS score for CVE-2021-22901?

CVE-2021-22901 has a CVSS v3 base score of 8.1 (HIGH severity), with vector string CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H.

Running curl? Hear about its next vulnerability

Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».

No credit card required · No monthly cap on website lookups · 250 API requests/month

Sources for this record