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",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80229.json",
"unresolved_ranges": [
{
"extracted_events": [
{
"introduced": "8.21.0"
},
{
"last_affected": "8.21.0"
},
{
"introduced": "8.20.0"
},
{
"last_affected": "8.20.0"
},
{
"introduced": "8.19.0"
},
{
"last_affected": "8.19.0"
},
{
"introduced": "8.18.0"
},
{
"last_affected": "8.18.0"
},
{
"introduced": "8.17.0"
},
{
"last_affected": "8.17.0"
},
{
"introduced": "8.16.0"
},
{
"last_affected": "8.16.0"
},
{
"introduced": "8.15.0"
},
{
"last_affected": "8.15.0"
},
{
"introduced": "8.14.1"
},
{
"last_affected": "8.14.1"
},
{
"introduced": "8.14.0"
},
{
"last_affected": "8.14.0"
}
],
"source": "AFFECTED_FIELD"
}
]
}