Nueva vulnerabilidad en OpenSSL afecta a protocolos DTLS
Nueva vulnerabilidad en OpenSSL afecta a protocolos DTLS

Nueva vulnerabilidad en OpenSSL afecta a protocolos DTLS

OpenSSL ha corregido una nueva vulnerabilidad, identificada como CVE-2026-84782, que puede provocar fugas de memoria o bloqueo del programa al utilizar el protocolo DTLS. La corrección se publicó el 29 de septiembre y afecta a varias versiones de OpenSSL.

Detalles técnicos de la vulnerabilidad

DTLS, una variante de TLS utilizada para tráfico UDP, reenvía un mensaje de negociación (handshake) si no se recibe respuesta antes de que expire el temporizador. La fuga o bloqueo puede ocurrir cuando dicho reenvío se inicia mientras un mensaje de negociación de mayor tamaño se encuentra a mitad de su proceso de envío.

El fallo, identificado como CVE-2026-84782 (CVSS 8.2), se ha corregido en las versiones 4.0.3, 3.6.5, 3.5.9 y 3.4.8 de OpenSSL. Las versiones corregidas para las ramas más antiguas (3.0, 1.1.1 y 1.0.2) se destinan únicamente a clientes que pagan por el soporte premium de OpenSSL.

La rama OpenSSL 3.0 dejó de recibir actualizaciones de seguridad públicas el 7 de septiembre.

Impacto y corrección

OpenSSL no ha especificado si un atacante puede provocar un reenvío mientras un mensaje está detenido, ni ha informado de ataques que exploten esta vulnerabilidad. OpenSSL no limita la vulnerabilidad a los clientes o servidores DTLS, y la corrección se probó en ambos roles.

La vulnerabilidad fue reportada por Laurent Gaffie, de Secorizon, el 17 de agosto, y Ryan Hooper desarrolló la corrección. DTLS se utiliza, por ejemplo, para proteger canales de datos WebRTC y establecer claves de cifrado para llamadas por Internet.

El software solo está expuesto a esta vulnerabilidad si utiliza OpenSSL para DTLS. DTLS divide los mensajes de negociación de gran tamaño en fragmentos que caben en un único datagrama UDP. Si la conexión no puede aceptar más datos en un momento dado, el envío puede pausarse a mitad del mensaje y reanudarse más tarde.

Mientras el envío está en pausa, el temporizador de reenvío puede activarse y enviar nuevamente un mensaje anterior. Antes de la corrección, el reenvío utilizaba la posición del mensaje pausado dentro del búfer en lugar de volver al inicio del mensaje que se estaba reenviando.

El mensaje reenviado salía con una etiqueta incorrecta; su cuerpo contenía bytes residuales del mensaje original más grande, y su lectura podía provocar un desbordamiento del búfer.

Correcciones en sistemas operativos

Ubuntu corrigió la vulnerabilidad el 29 de septiembre en sus propios paquetes, los cuales conservan los números de versión anteriores de OpenSSL. Debian corrigió la vulnerabilidad en Debian 13 con la versión 3.5.7-1~deb13u3 de su paquete OpenSSL, publicada como DSA-6531-1.

Su sistema de seguimiento de seguridad aún clasificaba a Debian 12 como vulnerable a las 07:36 UTC del 30 de septiembre.

Actualizaciones para usuarios de OpenSSL 3.0.x

La versión 3.0.22, lanzada el 25 de agosto, incluye correcciones parciales. La versión 3.0.23 es la primera actualización de seguridad de la rama 3.0 que OpenSSL no ha hecho pública. Esta corrige 6 de las 14 vulnerabilidades divulgadas el 29 de septiembre, incluida la CVE-2026-84782.

Para Ubuntu 22.04 y 24.04, que utilizan OpenSSL 3.0, la corrección ya está disponible en los paquetes mencionados anteriormente. Aquellos que compilan OpenSSL 3.0 o incluyen una copia dentro de su propio software no disponen de una corrección pública por parte de OpenSSL.

OpenSSL recomienda actualizar a una rama más reciente, como la 4.0 o la versión de soporte a largo plazo (LTS) 3.5. La otra opción es contratar un servicio de soporte de pago que proporciona acceso continuo a correcciones de seguridad para versiones que ya han superado su fecha de finalización de soporte público.

Otras vulnerabilidades corregidas

Las versiones lanzadas el 29 de septiembre corrigen otras 13 vulnerabilidades. La más grave de ellas, CVE-2026-84783, está clasificada como de nivel moderado y afecta únicamente a OpenSSL 4.0.

Otra vulnerabilidad de DTLS, CVE-2026-75806, tiene una clasificación de nivel bajo. Afecta a conexiones DTLS 1.2 establecidas que utilizan un conjunto de cifrado AEAD. Cualquier persona capaz de enviar un datagrama a dicha conexión puede finalizarla con un único datagrama demasiado corto, sin necesidad de conocer ninguna clave.

Las otras 11 vulnerabilidades también se clasifican como de nivel bajo e incluyen 5 en el código QUIC de OpenSSL y 3 canales laterales de temporización en el código ECDSA y SM2.