ALPINE-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.
Risk Scores
Affected Products
| Vendor | Product | Versions |
|---|---|---|
| Alpine:v3.13 | curl | 7.56.0-r0, 7.21.4-r1, 7.21.4-r0 |
| Alpine:v3.12 | curl | 7.21.5-r0, 7.21.4-r1, 7.21.3-r0 |
| Alpine:v3.22 | curl | 7.19.2-r0, 7.75.0, 0 |
| Alpine:v3.16 | curl | 7.21.4-r0, 7.21.3-r1, 7.21.3-r0 |
| Alpine:v3.23 | curl | 7.69.1-r0, 7.75.0, 0 |
| Alpine:v3.19 | curl | 0, 7.75.0, 0 |
| Alpine:v3.14 | curl | 7.56.1-r0, 7.19.2-r1, 7.19.4-r0 |
| Alpine:v3.18 | curl | 0, 7.19.2-r1, 7.19.5-r0 |
| Alpine:v3.17 | curl | 7.37.0-r0, 0, 7.19.2-r0 |
| Alpine:v3.20 | curl | 7.69.1-r0, 7.75.0, 0 |
| Alpine:v3.24 | curl | 0, 7.75.0 |
| Alpine:v3.15 | curl | 0, 7.21.6-r0, 7.21.4-r0 |
| Alpine:v3.21 | curl | 0, 7.75.0, 0 |
Timeline
- Jun 11, 2021 CVE Published
- Apr 30, 2026 Distribution Patch
- Jul 8, 2026 CVE Updated