{"id":"CVE-2021-22901","state":"PUBLISHED","title":"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 malic","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.","publishedAt":"2021-06-11T15:49:38.000Z","updatedAt":"2026-10-14T10:31:25.845Z","severity":null,"assigner":"hackerone","products":["n/a https://github.com/curl/curl"],"affected":[{"vendor":"n/a","product":"https://github.com/curl/curl","versions":[{"version":"7.75.0 through 7.76.1","status":"affected"}]}],"references":["https://hackerone.com/reports/1180380","https://curl.se/docs/CVE-2021-22901.html","https://github.com/curl/curl/commit/7f4a9a9b2a49547eae24d2e19bc5c346e9026479","https://www.oracle.com//security-alerts/cpujul2021.html","https://security.netapp.com/advisory/ntap-20210723-0001/","https://www.oracle.com/security-alerts/cpujan2022.html","https://security.netapp.com/advisory/ntap-20210727-0007/","https://www.oracle.com/security-alerts/cpuapr2022.html","https://cert-portal.siemens.com/productcert/pdf/ssa-389290.pdf","https://cert-portal.siemens.com/productcert/pdf/ssa-732250.pdf","https://cert-portal.siemens.com/productcert/html/ssa-389290.html","https://cert-portal.siemens.com/productcert/html/ssa-732250.html","https://cert-portal.siemens.com/productcert/html/ssa-398330.html"],"weaknesses":["CWE-416"],"ingestedAt":"2026-10-29T19:48:02.192Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2021/22xxx/CVE-2021-22901.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2021-22901","state":"PUBLISHED","datePublished":"2021-06-11T15:49:38.000Z","dateUpdated":"2026-10-14T10:31:25.845Z","assignerShortName":"hackerone","assignerOrgId":"36234546-b8fa-4601-9d6f-f4e334aa8ea1","dateReserved":"2021-01-06T00:00:00.000Z"},"containers":{"cna":{"descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"n/a","product":"https://github.com/curl/curl","versions":[{"version":"7.75.0 through 7.76.1","status":"affected"}]}],"references":[{"url":"https://hackerone.com/reports/1180380","tags":["x_refsource_MISC"]},{"url":"https://curl.se/docs/CVE-2021-22901.html","tags":["x_refsource_MISC"]},{"url":"https://github.com/curl/curl/commit/7f4a9a9b2a49547eae24d2e19bc5c346e9026479","tags":["x_refsource_MISC"]},{"url":"https://www.oracle.com//security-alerts/cpujul2021.html","tags":["x_refsource_MISC"]},{"url":"https://security.netapp.com/advisory/ntap-20210723-0001/","tags":["x_refsource_CONFIRM"]},{"url":"https://www.oracle.com/security-alerts/cpujan2022.html","tags":["x_refsource_MISC"]},{"url":"https://security.netapp.com/advisory/ntap-20210727-0007/","tags":["x_refsource_CONFIRM"]},{"url":"https://www.oracle.com/security-alerts/cpuapr2022.html","tags":["x_refsource_MISC"]},{"url":"https://cert-portal.siemens.com/productcert/pdf/ssa-389290.pdf","tags":["x_refsource_CONFIRM"]},{"url":"https://cert-portal.siemens.com/productcert/pdf/ssa-732250.pdf","tags":["x_refsource_CONFIRM"]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-416","description":"Use After Free (CWE-416)","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"hackerone","dateUpdated":"2022-05-10T11:06:06.000Z","orgId":"36234546-b8fa-4601-9d6f-f4e334aa8ea1"},"x_legacyV4Record":{"CVE_data_meta":{"ASSIGNER":"support@hackerone.com","ID":"CVE-2021-22901","STATE":"PUBLIC"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"https://github.com/curl/curl","version":{"version_data":[{"version_value":"7.75.0 through 7.76.1"}]}}]},"vendor_name":"n/a"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"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."}]},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"Use After Free (CWE-416)"}]}]},"references":{"reference_data":[{"name":"https://hackerone.com/reports/1180380","refsource":"MISC","url":"https://hackerone.com/reports/1180380"},{"name":"https://curl.se/docs/CVE-2021-22901.html","refsource":"MISC","url":"https://curl.se/docs/CVE-2021-22901.html"},{"name":"https://github.com/curl/curl/commit/7f4a9a9b2a49547eae24d2e19bc5c346e9026479","refsource":"MISC","url":"https://github.com/curl/curl/commit/7f4a9a9b2a49547eae24d2e19bc5c346e9026479"},{"name":"https://www.oracle.com//security-alerts/cpujul2021.html","refsource":"MISC","url":"https://www.oracle.com//security-alerts/cpujul2021.html"},{"name":"https://security.netapp.com/advisory/ntap-20210723-0001/","refsource":"CONFIRM","url":"https://security.netapp.com/advisory/ntap-20210723-0001/"},{"name":"https://www.oracle.com/security-alerts/cpujan2022.html","refsource":"MISC","url":"https://www.oracle.com/security-alerts/cpujan2022.html"},{"name":"https://security.netapp.com/advisory/ntap-20210727-0007/","refsource":"CONFIRM","url":"https://security.netapp.com/advisory/ntap-20210727-0007/"},{"name":"https://www.oracle.com/security-alerts/cpuapr2022.html","refsource":"MISC","url":"https://www.oracle.com/security-alerts/cpuapr2022.html"},{"name":"https://cert-portal.siemens.com/productcert/pdf/ssa-389290.pdf","refsource":"CONFIRM","url":"https://cert-portal.siemens.com/productcert/pdf/ssa-389290.pdf"},{"name":"https://cert-portal.siemens.com/productcert/pdf/ssa-732250.pdf","refsource":"CONFIRM","url":"https://cert-portal.siemens.com/productcert/pdf/ssa-732250.pdf"}]}}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://hackerone.com/reports/1180380","tags":["x_refsource_MISC","x_transferred"]},{"url":"https://curl.se/docs/CVE-2021-22901.html","tags":["x_refsource_MISC","x_transferred"]},{"url":"https://github.com/curl/curl/commit/7f4a9a9b2a49547eae24d2e19bc5c346e9026479","tags":["x_refsource_MISC","x_transferred"]},{"url":"https://www.oracle.com//security-alerts/cpujul2021.html","tags":["x_refsource_MISC","x_transferred"]},{"url":"https://security.netapp.com/advisory/ntap-20210723-0001/","tags":["x_refsource_CONFIRM","x_transferred"]},{"url":"https://www.oracle.com/security-alerts/cpujan2022.html","tags":["x_refsource_MISC","x_transferred"]},{"url":"https://security.netapp.com/advisory/ntap-20210727-0007/","tags":["x_refsource_CONFIRM","x_transferred"]},{"url":"https://www.oracle.com/security-alerts/cpuapr2022.html","tags":["x_refsource_MISC","x_transferred"]},{"url":"https://cert-portal.siemens.com/productcert/pdf/ssa-389290.pdf","tags":["x_refsource_CONFIRM","x_transferred"]},{"url":"https://cert-portal.siemens.com/productcert/pdf/ssa-732250.pdf","tags":["x_refsource_CONFIRM","x_transferred"]}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2024-08-03T18:58:25.389Z"}},{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2021-22901","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-10-08T20:56:54.242206Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-08T21:03:18.445Z"}},{"affected":[{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.0","status":"affected","lessThan":"V3.1.5","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.0","status":"affected","lessThan":"V3.1.5","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.0","status":"affected","lessThan":"V3.1.5","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.0","status":"affected","lessThan":"V3.1.5","versionType":"custom"}]},{"vendor":"Siemens","product":"SIPLUS S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.0","status":"affected","lessThan":"V3.1.5","versionType":"custom"}]}],"references":[{"url":"https://cert-portal.siemens.com/productcert/html/ssa-389290.html"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-732250.html"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-398330.html"}],"providerMetadata":{"shortName":"siemens-SADP","orgId":"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e","dateUpdated":"2026-10-14T10:31:25.845Z"},"x_adpType":"supplier"}]}}}