Un fallo en las retransmisiones DTLS de OpenSSL puede filtrar datos del heap o cerrar aplicaciones

CVE-2026-84782 en OpenSSL: fallo en retransmisiones DTLS expone memoria heap y causa DoS. Afecta a clientes y servidores, actualiza ya.

Un fallo en las retransmisiones DTLS de OpenSSL puede filtrar datos del heap o cerrar aplicaciones
Vulnerabilidades

Imagen ilustrativa generada con IA

Las retransmisiones defectuosas generan dos riesgos distintos

OpenSSL ha divulgado una vulnerabilidad de gravedad alta en su implementación de Datagram Transport Layer Security que puede exponer la memoria del heap a un interlocutor remoto o provocar el cierre del proceso afectado.

Identificada como CVE-2026-84782, la vulnerabilidad afecta a las retransmisiones de mensajes del protocolo de enlace DTLS. OpenSSL publicó las correcciones el 29 de septiembre y calificó el problema como de gravedad alta, un nivel por debajo de crítica en su escala.

Laurent Gaffie, de Secorizon, notificó la vulnerabilidad el 17 de agosto. Ryan Hooper desarrolló la corrección.

El 29 de septiembre, CISA asignó a CVE-2026-84782 una puntuación CVSS de 8,2 sobre 10, con el vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H. Esta evaluación describe una vulnerabilidad accesible desde la red que no requiere privilegios ni interacción del usuario, con un impacto bajo en la confidencialidad y alto en la disponibilidad.

OpenSSL no utiliza las puntuaciones CVSS para determinar sus propias clasificaciones de gravedad y advierte que las evaluaciones externas pueden diferir considerablemente de las suyas.

En el momento en que CISA publicó el registro, la explotación figuraba como «ninguna». OpenSSL no había informado de ataques y CISA no había fijado ningún plazo de mitigación en su catálogo de vulnerabilidades explotadas conocidas.

Cómo una pausa en el protocolo de enlace DTLS expone memoria indebida

DTLS adapta las protecciones de TLS al transporte basado en datagramas, como UDP. Puede utilizarse para proteger canales de datos WebRTC y ayudar a establecer claves de cifrado para llamadas por internet.

Los mensajes grandes del protocolo de enlace DTLS deben dividirse en fragmentos que quepan en datagramas UDP individuales. Si una conexión deja temporalmente de aceptar datos, OpenSSL puede pausar el envío a mitad de uno de esos mensajes.

Durante esa pausa puede vencer el temporizador de retransmisión. OpenSSL debe entonces volver a enviar un mensaje anterior del protocolo de enlace, pero el código vulnerable puede empezar desde la posición actual del búfer del mensaje más grande que estaba pausado, en lugar de hacerlo desde el inicio del mensaje que debe retransmitir.

Esta discrepancia de estado genera datos mal formados en el protocolo de enlace. El mensaje retransmitido recibe una etiqueta incorrecta y puede contener bytes residuales del mensaje más grande almacenado en el búfer.

Al procesar esos datos mal formados, se puede leer más allá de los límites previstos del búfer. Según OpenSSL, el contenido del heap podría enviarse al interlocutor como datos sin cifrar del protocolo de enlace. Si la lectura fuera de límites alcanza una zona de memoria no asignada, la aplicación puede cerrarse.

Esto puede tener dos consecuencias: la divulgación limitada de memoria del proceso y una denegación de servicio. El aviso USN-8847-1 de Ubuntu describe un comportamiento incorrecto del protocolo de enlace y una denegación de servicio, pero no menciona la exposición de memoria del heap identificada por OpenSSL.

El problema puede afectar tanto a clientes como a servidores DTLS. OpenSSL probó la corrección en ambos casos. Sin embargo, no ha indicado si un atacante puede forzar de forma fiable una retransmisión justo cuando otro mensaje del protocolo de enlace está en pausa.

Las versiones corregidas dejan pocas opciones para las ramas sin soporte

Todas las versiones anteriores a la indicada como corregida en cada rama de la tabla están afectadas:

Rama de OpenSSL Versión corregida Distribución y estado del soporte
4.0 4.0.3 Disponible públicamente; soporte hasta el 14 de mayo de 2027
3.6 3.6.5 Disponible públicamente; soporte hasta el 1 de noviembre de 2026
3.5 3.5.9 Versión LTS disponible públicamente; soporte hasta el 8 de abril de 2030
3.4 3.4.8 Disponible públicamente; soporte hasta el 22 de octubre de 2026
3.0 3.0.23 Disponible solo para clientes con soporte premium; el soporte público terminó el 7 de septiembre de 2026
1.1.1 1.1.1zj Solo para clientes con soporte premium; sin soporte público
1.0.2 1.0.2zs Solo para clientes con soporte premium; sin soporte público

OpenSSL no ha determinado si las ramas 3.1, 3.2 y 3.3 están afectadas. Esas ramas ya no reciben soporte público.

La situación de OpenSSL 3.0 es especialmente importante para las organizaciones que compilan la biblioteca por su cuenta o la integran en otros productos. Su última versión pública fue la 3.0.22, publicada el 25 de agosto. La versión 3.0.23 es la primera actualización de seguridad de esa rama que OpenSSL no distribuye públicamente.

Esta actualización, disponible solo con soporte premium, corrige seis de las 14 vulnerabilidades solucionadas el 29 de septiembre, incluida CVE-2026-84782. Por lo tanto, las organizaciones que sigan usando la versión original de OpenSSL 3.0 no pueden obtener de OpenSSL la corrección oficial de esta vulnerabilidad.

OpenSSL recomienda migrar a una rama con soporte, como la 4.0 o la línea 3.5 con soporte a largo plazo, o contratar un plan de soporte. No se ha publicado ninguna solución provisional para los entornos que no puedan actualizarse.

Ubuntu y Debian distribuyen correcciones retroportadas

Las versiones de los paquetes de las distribuciones Linux no siempre coinciden con las de las versiones corregidas de upstream, ya que los responsables del mantenimiento suelen retroportar los parches de seguridad.

Ubuntu Security publicó el aviso USN-8847-1 el 29 de septiembre de 2026, para Ubuntu 26.04 LTS, 24.04 LTS y 22.04 LTS. Los paquetes corregidos son:

Versión de Ubuntu Paquete Versión corregida del paquete
26.04 LTS (resolute) libssl3t64 3.5.5-1ubuntu3.6
24.04 LTS (noble) libssl3t64 3.0.13-0ubuntu3.16
22.04 LTS (jammy) libssl3 3.0.2-0ubuntu1.30

Los usuarios de Ubuntu deben realizar una actualización normal del sistema y reiniciarlo después, para que todos los servicios y procesos en ejecución carguen las bibliotecas corregidas. La mera instalación del paquete puede dejar aplicaciones de larga duración utilizando el código vulnerable que ya está cargado en memoria.

Ubuntu Pro ofrece diez años de cobertura de seguridad para más de 25.000 paquetes de los repositorios Main y Universe. Está disponible de forma gratuita para un máximo de cinco equipos.

Debian corrigió CVE-2026-84782 en Debian 13 mediante la versión 3.5.7-1~deb13u3 del paquete openssl, publicada en el aviso DSA-6531-1. A las 07:36 UTC del 30 de septiembre, el rastreador de seguridad de Debian seguía indicando que Debian 12 era vulnerable.

Los administradores deben detectar el uso de DTLS, no solo las instalaciones de OpenSSL

El fallo solo es relevante cuando el software utiliza la implementación DTLS de OpenSSL. La mera presencia de un paquete OpenSSL instalado no significa que una aplicación utilice la ruta vulnerable.

Los equipos de defensa deben identificar los servicios expuestos a internet y a redes internas que utilicen DTLS, incluidos los programas de comunicaciones y los componentes relacionados con WebRTC. También deben revisar dispositivos, contenedores, programas enlazados estáticamente y productos de proveedores que puedan incluir sus propias copias de OpenSSL en lugar de utilizar el paquete del sistema operativo.

Debe darse prioridad a las aplicaciones accesibles de forma remota cuyo cierre interrumpiría las comunicaciones en tiempo real u otro servicio sensible a la disponibilidad. También es posible que se divulgue contenido del heap, aunque todavía no se ha determinado qué tipo de memoria ni cuánta podría obtenerse en la práctica.

No se han publicado indicadores de compromiso específicos. Los cierres inesperados durante el protocolo de enlace DTLS, los mensajes retransmitidos mal formados y los fallos de conexión repetidos pueden justificar una investigación, pero no constituyen pruebas confirmadas de explotación.

La misma versión corrige otras 13 vulnerabilidades

Las actualizaciones del 29 de septiembre también corrigieron otras 13 vulnerabilidades de OpenSSL. La más grave de las que se identificaron junto con CVE-2026-84782 es CVE-2026-84783, un problema de gravedad moderada que solo afecta a OpenSSL 4.0.

Un interlocutor remoto no autenticado puede aprovechar este fallo para cerrar ciertos clientes o servidores TLS multiproceso que solicitan certificados de cliente. Para que se produzca, varias conexiones deben crear simultáneamente sus primeras cadenas de certificados hasta llegar al mismo certificado de una CA de confianza. La puntuación CVSS es de 7,5, con el vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H.

CVE-2026-75806, que OpenSSL calificó como de gravedad baja y recibió una puntuación de 5,3, permite que un atacante interrumpa una conexión DTLS 1.2 establecida que utilice un conjunto de cifrado AEAD. Basta un único datagrama demasiado pequeño para provocar el fallo, sin necesidad de conocer las claves de la conexión.

Entre los demás hallazgos de gravedad baja figuran cinco problemas en la implementación QUIC de OpenSSL y tres canales laterales temporales que afectan a operaciones ECDSA o SM2. Ubuntu también documentó, entre las correcciones incluidas, fallos relacionados con la denegación de servicio, las lecturas fuera de límites, el consumo excesivo de memoria y el procesamiento de certificados.

Por tanto, las organizaciones que apliquen la corrección de CVE-2026-84782 deben instalar la actualización completa del proveedor, en lugar de intentar aislar un único parche. Esta versión corrige al mismo tiempo otros problemas que pueden provocar fallos en servicios expuestos a la red.

Lee también

Fuentes

Este artículo es una reelaboración original basada en las siguientes fuentes.

CVE tratadas en este artículo

Volver al inicio

Últimas noticias de ciberseguridad

Todas las noticias de ciberseguridad →