← Back to CVE Explorer

CVE-2026-16318

Full vulnerability record from the local CVENow database.

Description

The QUIC transport parameters extension handler in s2n-tls incorrectly uses s2n_alloc instead of s2n_realloc to store the peer's transport parameters. When a TLS 1.3 connection goes through a HelloRetryRequest, the handler is called twice on the same connection. On the second call, s2n_alloc zeroes the existing pointer before allocating new memory, causing the first allocation to be leaked. This can occur during normal QUIC traffic when a client offers a key share group the server does not prefer. An unauthenticated user can amplify the issue by deliberately forcing HelloRetryRequests, causing up to approximately 64 KB of unreachable memory per handshake. Over time, this can lead to increased memory consumption on long-running server processes. The unreachable memory is only reclaimed when the process is restarted. Only server-side QUIC-enabled deployments are affected. Non-QUIC TLS connections are not affected. We recommend you upgrade s2n-tls to version v1.7.6

Severity
MEDIUM
CVSS score
6.9 (v4.0)
Vulnerability status
Awaiting Analysis
Source identifier
ff89ba41-3aa1-4d27-914a-91399e9639e5
Published
2026-07-21 21:16:49.220000
Last modified
2026-10-24 19:10:00.127000
View original CVE JSON
{
  "id": "CVE-2026-16318",
  "sourceIdentifier": "ff89ba41-3aa1-4d27-914a-91399e9639e5",
  "published": "2026-07-21T21:16:49.220",
  "lastModified": "2026-10-24T19:10:00.127",
  "vulnStatus": "Awaiting Analysis",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "The QUIC transport parameters extension handler in s2n-tls incorrectly uses s2n_alloc instead of s2n_realloc to store the peer's transport parameters. When a TLS 1.3 connection goes through a HelloRetryRequest, the handler is called twice on the same connection. On the second call, s2n_alloc zeroes the existing pointer before allocating new memory, causing the first allocation to be leaked.\n\n\n\nThis can occur during normal QUIC traffic when a client offers a key share group the server does not prefer. An unauthenticated user can amplify the issue by deliberately forcing HelloRetryRequests, causing up to approximately 64 KB of unreachable memory per handshake. Over time, this can lead to increased memory consumption on long-running server processes. The unreachable memory is only reclaimed when the process is restarted.\n\n\n\nOnly server-side QUIC-enabled deployments are affected. Non-QUIC TLS connections are not affected.\n\n\n\nWe recommend you upgrade s2n-tls to version v1.7.6"
    },
    {
      "lang": "es",
      "value": "El gestor de la extensión de parámetros de transporte QUIC en s2n-tls utiliza incorrectamente s2n_alloc en lugar de s2n_realloc para almacenar los parámetros de transporte del par. Cuando una conexión TLS 1.3 pasa por un HelloRetryRequest, el gestor es llamado dos veces en la misma conexión. En la segunda llamada, s2n_alloc pone a cero el puntero existente antes de asignar nueva memoria, lo que provoca una fuga de la primera asignación.\n\nEsto puede ocurrir durante el tráfico QUIC normal cuando un cliente ofrece un grupo de intercambio de claves que el servidor no prefiere. Un usuario no autenticado puede amplificar el problema forzando deliberadamente HelloRetryRequests, causando hasta aproximadamente 64 KB de memoria inalcanzable por handshake. Con el tiempo, esto puede llevar a un aumento del consumo de memoria en procesos de servidor de larga duración. La memoria inalcanzable solo se recupera cuando el proceso se reinicia.\n\nSolo las implementaciones del lado del servidor con QUIC habilitado se ven afectadas. Las conexiones TLS que no son QUIC no se ven afectadas.\n\nRecomendamos actualizar s2n-tls a la versión v1.7.6"
    }
  ],
  "affected": [
    {
      "source": "ff89ba41-3aa1-4d27-914a-91399e9639e5",
      "affectedData": [
        {
          "vendor": "Amazon",
          "product": "s2n-tls",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "0",
              "lessThanOrEqual": "v1.7.5",
              "versionType": "custom",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV40": [
      {
        "source": "ff89ba41-3aa1-4d27-914a-91399e9639e5",
        "type": "Secondary",
        "cvssData": {
          "version": "4.0",
          "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
          "baseScore": 6.9,
          "baseSeverity": "MEDIUM",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "attackRequirements": "NONE",
          "privilegesRequired": "NONE",
          "userInteraction": "NONE",
          "vulnConfidentialityImpact": "NONE",
          "vulnIntegrityImpact": "NONE",
          "vulnAvailabilityImpact": "LOW",
          "subConfidentialityImpact": "NONE",
          "subIntegrityImpact": "NONE",
          "subAvailabilityImpact": "NONE",
          "exploitMaturity": "NOT_DEFINED",
          "confidentialityRequirement": "NOT_DEFINED",
          "integrityRequirement": "NOT_DEFINED",
          "availabilityRequirement": "NOT_DEFINED",
          "modifiedAttackVector": "NOT_DEFINED",
          "modifiedAttackComplexity": "NOT_DEFINED",
          "modifiedAttackRequirements": "NOT_DEFINED",
          "modifiedPrivilegesRequired": "NOT_DEFINED",
          "modifiedUserInteraction": "NOT_DEFINED",
          "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
          "modifiedVulnIntegrityImpact": "NOT_DEFINED",
          "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
          "modifiedSubConfidentialityImpact": "NOT_DEFINED",
          "modifiedSubIntegrityImpact": "NOT_DEFINED",
          "modifiedSubAvailabilityImpact": "NOT_DEFINED",
          "Safety": "NOT_DEFINED",
          "Automatable": "NOT_DEFINED",
          "Recovery": "NOT_DEFINED",
          "valueDensity": "NOT_DEFINED",
          "vulnerabilityResponseEffort": "NOT_DEFINED",
          "providerUrgency": "NOT_DEFINED"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "source": "ff89ba41-3aa1-4d27-914a-91399e9639e5",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L",
          "baseScore": 5.3,
          "baseSeverity": "MEDIUM",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "NONE",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "NONE",
          "integrityImpact": "NONE",
          "availabilityImpact": "LOW"
        },
        "exploitabilityScore": 3.9,
        "impactScore": 1.4
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-07-22T19:34:05.501993Z",
          "id": "CVE-2026-16318",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "yes"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "ff89ba41-3aa1-4d27-914a-91399e9639e5",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-401"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/aws/s2n-tls/releases/tag/v1.7.6",
      "source": "ff89ba41-3aa1-4d27-914a-91399e9639e5"
    },
    {
      "url": "https://github.com/aws/s2n-tls/security/advisories/GHSA-cr7x-863j-xrc7",
      "source": "ff89ba41-3aa1-4d27-914a-91399e9639e5"
    },
    {
      "url": "https://staging.prod.website.marketing.aws.dev/security/security-bulletins/2026-062-aws/",
      "source": "ff89ba41-3aa1-4d27-914a-91399e9639e5"
    }
  ]
}