{
  "schema_version": "1.5.0",
  "id": "CURL-CVE-2026-80229",
  "aliases": [
    "CVE-2026-80229"
  ],
  "summary": "OpenSSL provider use-after-free",
  "modified": "2026-09-02T11:09:27.00Z",
  "database_specific": {
    "package": "curl",
    "affects": "both",
    "URL": "https://curl.se/docs/CVE-2026-80229.json",
    "www": "https://curl.se/docs/CVE-2026-80229.html",
    "issue": "https://hackerone.com/reports/3969255",
    "CWE": {
      "id": "CWE-416",
      "desc": "Use After Free"
    },
    "last_affected": "8.21.0",
    "severity": "Low"
  },
  "published": "2026-09-02T08:00:00.00Z",
  "affected": [
    {
      "ranges": [
        {
           "type": "SEMVER",
           "events": [
             {"introduced": "8.14.0"},
             {"fixed": "8.22.0"}
           ]
        },
        {
           "type": "GIT",
           "repo": "https://github.com/curl/curl.git",
           "events": [
             {"introduced": "f2ce6c46b9dcc46ced0ce43fa95176ea7599a854"},
             {"fixed": "7ea37abc6ac0120ba5f6d94be8d196f7cf1506bb"}
           ]
        }
      ],
      "versions": [
        "8.21.0", "8.20.0", "8.19.0", "8.18.0", "8.17.0", "8.16.0", "8.15.0", 
        "8.14.1", "8.14.0"
      ]
    }
  ],
  "credits": [
    {
      "name": "Stanislav Fort (Aisle Research)",
      "type": "FINDER"
    },
    {
      "name": "Daniel Stenberg",
      "type": "REMEDIATION_DEVELOPER"
    }
  ],
  "details": "When performing transfers via libcurl’s multi interface, pooled TLS\nconnections can outlive their originating easy handles. In OpenSSL 3 provider\nconfigurations, libcurl attaches an allocated library context to the easy\nhandle's state and passes it to OpenSSL without acquiring an ownership\nreference; destroying the easy handle prematurely frees this context while the\nactive connection retains a dangling pointer, leading to a heap-use-after-free\nupon subsequent I/O or post-handshake operations."
}