2026-09-27 9:24CVE-2026-15442wolfSSL
PUBLISHED5.2CWE-416

Heap use-after-free on read during bidirectional (D)TLS shutdown

In all builds that make use of (D)TLS, including default builds, there is a series of conditional states during the TLS shutdown which could lead to a heap-use-after free. If an application ended up getting a partial wolfSSL_read() which is sometimes caused by a small user buffer passed in, then called wolfSSL_shutdown for a bidirectional close and attempted to wolfSSL_read() again while the peer continues trying to send data during the shutdown it would lead to a state where a potential heap-use-after free happened.

Problem type

Affected products

wolfSSL

wolfSSL

<= 5.9.2 - AFFECTED

References

JSON source

https://cveawg.mitre.org/api/cve/CVE-2026-15442
Click to expand
{
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "cveMetadata": {
    "cveId": "CVE-2026-15442",
    "assignerOrgId": "50d2cd11-d01a-48ed-9441-5bfce9d63b27",
    "assignerShortName": "wolfSSL",
    "dateUpdated": "2026-09-27T09:24:31.594Z",
    "dateReserved": "2026-07-10T19:09:12.486Z",
    "datePublished": "2026-09-27T09:24:31.594Z",
    "state": "PUBLISHED"
  },
  "containers": {
    "cna": {
      "providerMetadata": {
        "orgId": "50d2cd11-d01a-48ed-9441-5bfce9d63b27",
        "shortName": "wolfSSL",
        "dateUpdated": "2026-09-27T09:24:31.594Z"
      },
      "datePublic": "2026-09-26T12:00:00.000Z",
      "title": "Heap use-after-free on read during bidirectional (D)TLS shutdown",
      "descriptions": [
        {
          "lang": "en",
          "value": "In all builds that make use of (D)TLS, including default builds, there is a series of conditional states during the TLS shutdown which could lead to a heap-use-after free. If an application ended up getting a partial wolfSSL_read() which is sometimes caused by a small user buffer  passed in, then called wolfSSL_shutdown for a bidirectional close and attempted to wolfSSL_read() again while the peer continues trying to send data during the shutdown it would lead to a state where a potential heap-use-after free happened.",
          "supportingMedia": [
            {
              "type": "text/html",
              "base64": false,
              "value": "In all builds that make use of (D)TLS, including default builds, there is a series of conditional states during the TLS shutdown which could lead to a heap-use-after free. If an application ended up getting a partial wolfSSL_read() which is sometimes caused by a small user buffer  passed in, then called wolfSSL_shutdown for a bidirectional close and attempted to wolfSSL_read() again while the peer continues trying to send data during the shutdown it would lead to a state where a potential heap-use-after free happened."
            }
          ]
        }
      ],
      "affected": [
        {
          "vendor": "wolfSSL",
          "product": "wolfSSL",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "4.4.0",
              "status": "affected",
              "versionType": "semver",
              "lessThanOrEqual": "5.9.2"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "lang": "en",
              "description": "CWE-416 Use After Free",
              "cweId": "CWE-416",
              "type": "CWE"
            }
          ]
        }
      ],
      "references": [
        {
          "url": "https://github.com/wolfSSL/wolfssl/pull/10863"
        }
      ],
      "metrics": [
        {
          "format": "CVSS",
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ]
        }
      ],
      "credits": [
        {
          "lang": "en",
          "value": "Fuzz0x team",
          "type": "finder"
        }
      ]
    }
  }
}