Fallo en la librería que debía soportar sin problemas la pérdida de datos

Un fallo en el mecanismo de retransmisión de DTLS convirtió una recuperación habitual de un mensaje perdido en una fuga de memoria. Los desarrolladores de OpenSSL informaron sobre la vulnerabilidad CVE-2026-84782, a la que se le asignó 8,2 puntos según CVSS 3.1.
DTLS protege el intercambio de datos sobre UDP y debe poder retransmitir los mensajes de apretón de manos si se pierde la respuesta. El error se producía cuando el envío de un mensaje grande se suspendía a mitad y el temporizador en ese momento iniciaba la retransmisión de un mensaje anterior. OpenSSL seguía leyendo el búfer no desde el inicio, sino desde la posición donde se detuvo la escritura anterior.
Debido al desplazamiento incorrecto, la retransmisión podía capturar bytes adicionales de la memoria del proceso y enviarlos a la otra parte como datos sin cifrar del apretón de manos. Si la lectura llegaba a una zona no mapeada de la memoria, la aplicación finalizaba de forma anómala, lo que convertía el fallo en una denegación de servicio. La vulnerabilidad corresponde a una lectura fuera de los límites del búfer, CWE-125.
El problema afecta a OpenSSL 4.0 hasta 4.0.3, 3.6 hasta 3.6.5, 3.5 hasta 3.5.9 y 3.4 hasta 3.4.8. También son vulnerables las ramas antiguas 3.0, 1.1.1 y 1.0.2. Para ellas, las compilaciones corregidas recibieron los números 3.0.23, 1.1.1zj y 1.0.2zs; sin embargo, el soporte público de esas ramas ya ha finalizado o está limitado por condiciones de soporte extendido.
La corrección modifica dos partes de la lógica. Antes de retransmitir, OpenSSL ahora restablece la posición de lectura al inicio del mensaje, y si la escritura está incompleta pospone la retransmisión hasta la siguiente llamada, que continuará el apretón de manos. De ese modo la biblioteca deja de usar al mismo tiempo el mismo contexto interno para dos operaciones incompatibles.
El escenario requiere la combinación de DTLS, entrada/salida no bloqueante y el momento en que la escritura del apretón de manos ya esté suspendida. Por ello, el fallo no implica una fuga de memoria automática en cualquier conexión. Red Hat evaluó la misma CVE en 7,4 puntos según CVSS 3.1, consideró la complejidad del ataque alta, mientras que la ficha de la CVE emplea la valoración más estricta de 8,2.
En verano, en OpenSSL ya se detectó un problema relacionado con la memoria HollowByte, donde una petición corta forzaba al servidor a reservar considerablemente más memoria durante el apretón de manos TLS. La nueva CVE afecta a otro mecanismo y a DTLS. El código vulnerable está fuera de los límites del módulo FIPS, por lo que los componentes certificados FIPS no se ven afectados directamente.