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
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: yesestá 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-libngtcp2y configuradas conquic-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-libnghttp2y configuradas conhttps-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-expiredpuede 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.
Fuentes
Este artículo es una reelaboración original basada en las siguientes fuentes.
- fuente primariaCVE Program
- The Hacker News
CVE tratadas en este artículo
- CVE-2026-33278Crítica9.8NLnet Labs Unbound 1.19.1 up to and including version 1.25.0 has a vulnerability in the DNSSEC validator that enables denial of service and possible remote code execution as a result of deep copying a data structure and erroneously overwriting a destination pointer. An adversary can exploit the vuln
- CVE-2026-81634Alta7.5In NLnet Labs Unbound up to and including 1.26.0, a 255 length query name with a large TCP response can lead to a heap buffer overflow during the RRSet canonicalisation routine. This is caused by missing to add the first owner name into the buffer length check. A malicious actor operating a maliciou
- CVE-2026-78227Media6.5NLnet Labs Unbound 1.22.0 up to and including 1.26.1, has a use-after-free vulnerability when compiled for DNS-over-QUIC support with '--with-libngtcp2'. Each DoQ stream owns an output buffer that holds the DNS response. ngtcp2's retransmission buffer keeps a shallow pointer into the output buffer f
- CVE-2026-82720Media5.9NLnet Labs Unbound 1.12.0 up to and including 1.26.0 has a use-after-free vulnerability when compiled for DNS-over-HTTPs support with '--with-libnghttp2'. During failure code paths (i.e., RPZ drop query, jostle due to heavy traffic), a dropped DoH stream brings down the whole DoH session and does no
- CVE-2026-80225Media5.3In NLnetLabs Unbound up to and including 1.26.0, a degradation of service vulnerability is present in the TCP/DoT reading procedure where there is no limit on consecutive reads. A malicious actor that can stream and sustain a rate of distinct uncached names over the TCP/DoT connection, monopolizes a
- CVE-2026-85501Media5.3Novel vulnerabilities to launch algorithmic complexity attacks on DNSSEC have been researched under the term 'ReTrap'. These result in degradation of service when malicious zones are used to serve the algorithmic complexity vulnerabilities. NLnet Labs Unbound up to and including 1.26.0 is vulnerable
- CVE-2026-77955Media4.4In NLnet Labs Unbound 1.13.2 up to and including 1.26.1, a vulnerability in ZONEMD configured zones (zonemd-check: yes) which are located below (but not at) a trust anchor allow for an attack window where (tampered with) zone contents are served (or stored to disk) prior to the ZONEMD integrity chec
- CVE-2026-77860Baja3.7In NLnetLabs Unbound 1.20.0 up to and including 1.26.0, a vulnerability on the 'serve-expired' code path can cause a double decrement on the 'wait-limit' counter per client IP essentially bypassing one of the counter measures that was introduced for DNSBomb (CVE-2024-33655). A malicious actor can ex
- CVE-2026-81642In NLnet Labs Unbound up to and including 1.26.0, a vulnerability was found in the DNSSEC validator that enables denial of service and possible remote code execution as a result of digesting DNSKEYs. A DNSKEY with an owner compression pointer to its own RDATA can overflow the digest buffer. Remote c
- CVE-2026-82717In NLnet Labs Unbound up to and including 1.26.0, a vulnerability was found in that can progressively corrupt heap memory and under certain systems and compilation options could lead to remote code execution. The vulnerability starts when CNAME synthesis during an upstream response needs to enforce(
