Un desbordamiento de heap en DNSSEC de Unbound pone a los resolutores vulnerables en riesgo de ejecución remota de código

Unbound corrige CVE-2026-81642, desbordamiento de heap en DNSSEC con CVSS 9.1 que permite DoS y ejecución remota. Actualiza a 1.26.1.

Texto generado por inteligencia artificial, publicado sin revisión humana. Transparencia IA

Un desbordamiento de heap en DNSSEC de Unbound pone a los resolutores vulnerables en riesgo de ejecución remota de código
Vulnerabilidades

Imagen ilustrativa generada con IA

NLnet Labs ha corregido una vulnerabilidad crítica de corrupción de memoria en Unbound que puede activarse mediante una zona DNS maliciosa. El fallo afecta a todas las versiones de Unbound anteriores a la 1.26.1 y puede permitir una denegación de servicio o la ejecución remota de código en un resolutor vulnerable.

Identificada como CVE-2026-81642, la vulnerabilidad tiene una puntuación CVSS 4.0 de 9,1 y está clasificada como un desbordamiento de búfer basado en heap según CWE-122. El registro del Programa CVE se publicó y actualizó el 16 de septiembre de 2026.

Unbound 1.26.1 contiene la corrección. También soluciona otras ocho CVE, incluida otra vulnerabilidad de corrupción del heap que puede permitir la ejecución de código en determinados entornos.

Un registro DNSKEY malicioso puede corromper la memoria del heap

CVE-2026-81642 se encuentra en el validador DNSSEC de Unbound, el componente responsable de autenticar los datos DNS mediante firmas criptográficas y cadenas de confianza.

La condición vulnerable se alcanza cuando Unbound procesa un registro DNSKEY especialmente manipulado. Su nombre propietario contiene un puntero de compresión DNS dirigido al RDATA del mismo registro, en lugar de a una ubicación externa válida. Cuando el validador procesa esta estructura malformada, puede escribir más allá del búfer asignado en el heap.

El atacante necesita controlar una zona DNS maliciosa y disponer de un medio para hacer que el resolutor de Unbound objetivo consulte dicha zona. El ataque es accesible a través de la red y no requiere credenciales ni interacción del usuario.

Un intento exitoso puede bloquear el resolutor y provocar una denegación de servicio. Dado que la memoria sobrescrita contiene datos controlados por el atacante, también se considera posible la ejecución remota de código. El vector CVSS 4.0 completo asignado por NLnet Labs es:

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:U/U:Red

El rango afectado que figura en el registro del Programa CVE oficial abarca Unbound desde la versión 0 hasta todas las versiones anteriores a la 1.26.1. Esto incluye la 1.25.2 y la 1.26.0, publicada esta última el 4 de agosto.

Actualizar a la 1.25.1 no es suficiente. Esa versión corrigió CVE-2026-33278, otra vulnerabilidad crítica del validador DNSSEC, mientras que CVE-2026-81642 seguía presente hasta la 1.26.0.

No se han notificado casos de explotación

NLnet Labs no ha informado de ataques que exploten CVE-2026-81642. Los datos disponibles de CISA también describen su estado de explotación como «ninguna». No se ha establecido que la vulnerabilidad figure en el catálogo de Vulnerabilidades Explotadas Conocidas de CISA y no se conoce ningún plazo de corrección de KEV.

Tampoco se han notificado indicadores de explotación que los administradores puedan buscar. Esto limita las recomendaciones de respuesta ante incidentes a la telemetría convencional de los resolutores, incluidos bloqueos y reinicios inexplicables, errores de corrupción de memoria y secuencias de consultas sospechosas que involucren zonas desconocidas.

La ausencia de casos de explotación conocidos no reduce el impacto técnico. Un resolutor puede ponerse en contacto con una infraestructura autoritativa controlada por un atacante durante la resolución DNS normal, y es posible alcanzar la vulnerabilidad sin una conexión autenticada al servicio de Unbound.

Yuqi Qiu, en colaboración con Xiang Li en el AOSP Lab de Nankai University, informó del fallo a NLnet Labs el 11 de agosto. NLnet Labs proporcionó un parche al día siguiente y el informante lo verificó el 13 de agosto. Ambos investigadores figuran como descubridores.

La versión 1.26.1 cierra nueve fallos de seguridad

CVE-2026-81642 es la más grave de las nueve vulnerabilidades corregidas en Unbound 1.26.1. Varias de las demás dependen de indicadores de compilación, escuchas de protocolo o configuraciones específicas del resolutor.

El segundo problema de seguridad de la memoria es CVE-2026-82717, un fallo de corrupción del heap de gravedad alta que se activa durante la síntesis de CNAME en una respuesta ascendente. Afecta a las versiones hasta la 1.26.0 y puede provocar una denegación de servicio. En determinados sistemas y con opciones de compilación concretas, también podría ser posible ejecutar código. No se han notificado casos de explotación.

El resto de las correcciones son:

  • CVE-2026-81634, con una puntuación de 7,5, puede bloquear las versiones hasta la 1.26.0 cuando un nombre de consulta de 255 caracteres se combina con una respuesta TCP de gran tamaño procedente de un servidor de nombres malicioso o con una respuesta manipulada.
  • CVE-2026-77955, con una puntuación de 4,4, afecta a las versiones 1.13.2 a 1.26.0 cuando zonemd-check: yes está configurado por debajo de un anclaje de confianza, pero no en él. Puede provocar una denegación de servicio y permitir brevemente que se sirvan datos de zona manipulados antes de la comprobación ZONEMD.
  • CVE-2026-78227, con una puntuación de 6,5, afecta a las versiones 1.22.0 a 1.26.0 compiladas con --with-libngtcp2 y configuradas con quic-port. El impacto notificado es una denegación de servicio.
  • CVE-2026-80225, con una puntuación de 5,3, permite degradar el servicio mediante un flujo sostenido de nombres distintos y no almacenados en caché enviado a través de una única conexión TCP o DNS-over-TLS.
  • CVE-2026-82720, con una puntuación de 5,9, afecta a las versiones 1.12.0 a 1.26.0 compiladas con --with-libnghttp2 y configuradas con https-port. Puede provocar una denegación de servicio limitada.
  • CVE-2026-85501, con una puntuación de 5,3, se refiere a técnicas de complejidad algorítmica de ReTrap, incluidas TagTrap, DelegationTrap, NsecTrap y AdditionalTrap. Las zonas maliciosas pueden utilizarlas para degradar el rendimiento del resolutor.
  • CVE-2026-77860 es un problema de gravedad baja que afecta a las versiones 1.20.0 a 1.26.0. La ruta serve-expired puede eludir una contramedida de DNSBomb y contribuir a un ataque de amplificación de denegación de servicio pulsante.

Como parte de la corrección de ReTrap, Unbound desactiva ahora val-clean-additional de forma predeterminada. En consecuencia, los datos DNSSEC de la sección adicional de una respuesta ya no se validan de forma predeterminada.

Actualizar o aplicar los parches del proveedor

Los administradores deben instalar Unbound 1.26.1 en lugar de confiar en cambios de configuración. NLnet Labs proporciona el código fuente, sumas de comprobación, una firma PGP, instaladores para Windows y binarios de Windows de la versión corregida.

Los operadores que no puedan actualizar de inmediato pueden aplicar un parche al árbol de código fuente. Hay opciones que incluyen parches mínimos y completos para CVE-2026-81642, así como parches combinados que cubren las nueve vulnerabilidades. Un ejemplo de secuencia de instalación es:

patch -p1 < patch_CVE-2026-81642_with.diff
make install

NLnet Labs probó los parches independientes para CVE-2026-81642 y CVE-2026-82717 con Unbound 1.26.0. No se ha especificado la compatibilidad con otras ramas de versiones.

No se debe considerar la desactivación de la validación DNSSEC una solución alternativa confirmada. No existe ninguna directriz establecida del proveedor que demuestre que este cambio de configuración impida de forma fiable la ruta de código vulnerable. Las medidas documentadas son actualizar o aplicar el parche.

Los paquetes de las distribuciones pueden seguir por detrás de la versión original

La existencia de una corrección en la versión original no significa que todos los repositorios de sistemas operativos ya la incluyan. Debian indicó el jueves que unbound 1.26.1-1 estaba corregido en unstable, mientras que bookworm, trixie y forky seguían marcados como vulnerables.

Los administradores deben comprobar la versión real del paquete instalada en cada resolutor, en lugar de confiar únicamente en el estado habitual de las actualizaciones. Los inventarios también deben abarcar dispositivos, implementaciones embebidas, contenedores y servicios DNS mantenidos fuera de los repositorios estándar del sistema operativo.

La configuración de compilación y ejecución requiere una revisión independiente. Las implementaciones que utilizan --with-libngtcp2, --with-libnghttp2, quic-port, https-port, zonemd-check o serve-expired están expuestas a otras vulnerabilidades corregidas en la misma versión.

Los resolutores recursivos expuestos a Internet y los sistemas que procesan consultas influenciadas por usuarios no confiables deben recibir prioridad. Después de aplicar el parche, los operadores deben confirmar que el demonio en ejecución —no solo la base de datos de paquetes— informa de la versión 1.26.1 o de una compilación debidamente parcheada.

Lee también

Fuentes

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

CVE tratadas en este artículo

Temas relacionadosvulnerabilidad UnboundCVE-2026-81642DNSSECejecución remota de códigoUnbound 1.26.1seguridad DNS
Volver al inicio