When performing transfers via libcurl’s multi interface, pooled TLS connections can outlive their originating easy handles. In OpenSSL 3 provider configurations, libcurl attaches an allocated library context to the easy handle's state and passes it to OpenSSL without acquiring an ownership reference; destroying the easy handle prematurely frees this context while the active connection retains a dangling pointer, leading to a heap-use-after-free upon subsequent I/O or post-handshake operations.
{
"cna_assigner": "curl",
"cwe_ids": [
"CWE-416"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80229.json",
"unresolved_ranges": [
{
"extracted_events": [
{
"introduced": "8.14.0"
},
{
"fixed": "8.14.2"
},
{
"introduced": "8.15.0"
},
{
"fixed": "8.16.1"
},
{
"introduced": "8.17.0"
},
{
"fixed": "8.20.1"
},
{
"introduced": "f2ce6c46b9dcc46ced0ce43fa95176ea7599a854"
},
{
"fixed": "7ea37abc6ac0120ba5f6d94be8d196f7cf1506bb"
}
],
"source": "AFFECTED_FIELD"
}
]
}