{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "OpenSSL",
          "vendor": "OpenSSL",
          "versions": [
            {
              "lessThan": "4.0.2",
              "status": "affected",
              "version": "4.0.0",
              "versionType": "semver"
            },
            {
              "lessThan": "3.6.4",
              "status": "affected",
              "version": "3.6.0",
              "versionType": "semver"
            },
            {
              "lessThan": "3.5.8",
              "status": "affected",
              "version": "3.5.0",
              "versionType": "semver"
            }
          ]
        }
      ],
      "credits": [
        {
          "lang": "en",
          "type": "reporter",
          "value": "Filipe Casal (Trail of Bits)"
        },
        {
          "lang": "en",
          "type": "remediation developer",
          "value": "Alexandr Nedvedicky"
        }
      ],
      "datePublic": "2026-08-13T09:00:13+02:00",
      "descriptions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "Issue summary: When an OpenSSL QUIC server (Listener SSL object) processes<br>valid QUIC Initial packets for unknown destination connection IDs, it<br>can allocate and queue new incoming channels without enforcing any limit.<br><br>Impact summary: A remote peer that can make many Initial packets reach the<br>server listener faster than the application accepts connections, can cause the<br>memory allocated to store the per-channel state to grow without any limits,<br>potentially making the QUIC listener unavailable and causing Denial of Service.<br><br>CWE: CWE-770: Allocation of Resources Without Limits or Throttling<br><br>Description: The function that handles inbound QUIC packets uses<br>Connection-Id from the packet header to find an existing connection<br>(QUIC channel). If no existing connection is found and the packet<br>type is INITIAL, the function treats the packet as a new connection. It<br>allocates a new channel object and inserts it into a queue where it<br>waits to be accepted by the local application with SSL_accept(3ossl).<br>The memory occupied by these initial channel objects may grow<br>without bounds if the application is not able to call SSL_accept()<br>frequently enough to serve these inbound connection requests.<br><br>The issue is present since OpenSSL 3.5 when the QUIC server implementation<br>was added.<br><br>The fix introduces a limit for pending connections. The default limit is set<br>to 256 pending connections (waiting to be accepted by the local application).<br>Applications may change the default by calling SSL_set_value_uint(3ossl).<br><br>FIPS impact: no<br>The FIPS module is not affected as the QUIC implementation is outside of<br>the OpenSSL FIPS module boundary."
            }
          ],
          "value": "Issue summary: When an OpenSSL QUIC server (Listener SSL object) processes\nvalid QUIC Initial packets for unknown destination connection IDs, it\ncan allocate and queue new incoming channels without enforcing any limit.\n\nImpact summary: A remote peer that can make many Initial packets reach the\nserver listener faster than the application accepts connections, can cause the\nmemory allocated to store the per-channel state to grow without any limits,\npotentially making the QUIC listener unavailable and causing Denial of Service.\n\nCWE: CWE-770: Allocation of Resources Without Limits or Throttling\n\nDescription: The function that handles inbound QUIC packets uses\nConnection-Id from the packet header to find an existing connection\n(QUIC channel). If no existing connection is found and the packet\ntype is INITIAL, the function treats the packet as a new connection. It\nallocates a new channel object and inserts it into a queue where it\nwaits to be accepted by the local application with SSL_accept(3ossl).\nThe memory occupied by these initial channel objects may grow\nwithout bounds if the application is not able to call SSL_accept()\nfrequently enough to serve these inbound connection requests.\n\nThe issue is present since OpenSSL 3.5 when the QUIC server implementation\nwas added.\n\nThe fix introduces a limit for pending connections. The default limit is set\nto 256 pending connections (waiting to be accepted by the local application).\nApplications may change the default by calling SSL_set_value_uint(3ossl).\n\nFIPS impact: no\nThe FIPS module is not affected as the QUIC implementation is outside of\nthe OpenSSL FIPS module boundary."
        }
      ],
      "metrics": [
        {
          "format": "other",
          "other": {
            "content": {
              "text": "Low"
            },
            "type": "https://openssl-library.org/policies/general/security-policy/"
          }
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-770",
              "description": "CWE-770 Allocation of Resources Without Limits or Throttling",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "orgId": "00000000-0000-4000-9000-000000000000",
        "shortName": "openssl"
      },
      "references": [
        {
          "name": "OpenSSL Advisory",
          "tags": [
            "vendor-advisory"
          ],
          "url": "https://openssl-library.org/news/secadv/20260813.txt"
        },
        {
          "name": "4.0 branch git commit",
          "tags": [
            "patch"
          ],
          "url": "https://github.com/openssl/openssl/commit/f2f1465f2d2e5c61dfeac4d20fd093797d821139"
        },
        {
          "name": "3.6 branch git commit",
          "tags": [
            "patch"
          ],
          "url": "https://github.com/openssl/openssl/commit/4084152e040329ca0194c4c1750b9b46d00a5b6b"
        },
        {
          "name": "3.5 branch git commit",
          "tags": [
            "patch"
          ],
          "url": "https://github.com/openssl/openssl/commit/08e7756c3900bcfd77a720e7b74e27d6e4ed01a9"
        }
      ],
      "source": {
        "discovery": "UNKNOWN"
      },
      "title": "Unbounded Memory Growth in QUIC Server Incoming Channel Queue",
      "x_generator": {
        "engine": "Vulnogram 0.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "00000000-0000-4000-9000-000000000000",
    "cveId": "CVE-2026-14456",
    "requesterUserId": "00000000-0000-4000-9000-000000000000",
    "serial": 1,
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1"
}
