Vulnerabilidades de KeyTrap y NSEC3 que afectan a la mayoría de las implementaciones de DNSSEC

Se han identificado dos vulnerabilidades en varias implementaciones del protocolo DNSSEC, que afectan a los solucionadores BIND, PowerDNS, dnsmasq, Knot Resolver y Unbound DNS. Las vulnerabilidades podrían provocar una denegación de servicio para los solucionadores de DNS que realizan la validación de DNSSEC al provocar una carga elevada de la CPU que interfiere con el procesamiento de otras consultas. Para llevar a cabo un ataque, basta con enviar una solicitud a un solucionador de DNS mediante DNSSEC, lo que lleva a una llamada a una zona DNS especialmente diseñada en el servidor del atacante.

Problemas identificados:

  • CVE-2023-50387 (nombre en clave KeyTrap): al acceder a zonas DNS especialmente diseñadas, se produce una denegación de servicio debido a la importante carga de la CPU y la larga ejecución de comprobaciones DNSSEC. Para llevar a cabo un ataque, es necesario colocar una zona de dominio con configuraciones maliciosas en un servidor DNS controlado por el atacante, y también asegurarse de que a esta zona acceda un servidor DNS recursivo, cuya denegación de servicio busca el atacante. .

    Las configuraciones maliciosas implican el uso de una combinación de claves en conflicto, registros RRSET y firmas digitales para una zona. Intentar verificar el uso de estas claves da como resultado operaciones que consumen mucho tiempo y recursos y que pueden cargar completamente la CPU y bloquear el procesamiento de otras solicitudes (por ejemplo, se afirma que en un ataque a BIND fue posible detener el procesamiento de otras solicitudes por 16 horas).

  • CVE-2023-50868 (nombre en clave NSEC3) es una denegación de servicio debido a que se realiza un cálculo importante al calcular hashes en registros NSEC3 (Next Secure v3) al procesar respuestas DNSSEC especialmente diseñadas. El método de ataque es similar a la primera vulnerabilidad, excepto que se crea un conjunto especialmente diseñado de registros NSEC3 RRSET en el servidor DNS del atacante.

Cabe señalar que la aparición de las vulnerabilidades mencionadas anteriormente se debe a la definición en la especificación DNSSEC de la capacidad del servidor DNS de enviar todas las claves criptográficas disponibles, mientras que los resolutores deben procesar las claves recibidas hasta que la verificación se complete con éxito o todas. Las claves recibidas han sido verificadas.

Como medidas para bloquear las vulnerabilidades en los resolvedores, se limita el número máximo de claves DNSSEC involucradas en el proceso de construcción de una cadena de confianza y el número máximo de cálculos de hash para NSEC3, y se limitan los reintentos de verificación para cada RRSET (combinación de claves y firmas) y cada respuesta. servidor.

Las vulnerabilidades se corrigen en las actualizaciones de Unbound (1.19.1), PowerDNS Recursor (4.8.6, 4.9.3, 5.0.2), Knot Resolver (5.7.1), dnsmasq (2.90) y BIND (9.16.48, 9.18.24). .9.19.21 y XNUMX). El estado de las vulnerabilidades en las distribuciones se puede evaluar en estas páginas: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware, NetBSD, FreeBSD.

Las versiones 9.16.48, 9.18.24 y 9.19.21 del servidor BIND DNS también corrigieron varias vulnerabilidades más:

  • CVE-2023-4408 El análisis de mensajes DNS grandes puede provocar una carga elevada de la CPU.
  • CVE-2023-5517: una solicitud de una zona inversa especialmente diseñada puede provocar un bloqueo debido a que se activa una verificación de afirmación. El problema solo aparece en configuraciones con la configuración "nxdomain-redirect" habilitada.
  • CVE-2023-5679: la detección recursiva de host puede provocar un bloqueo debido a que se activa una verificación de aserción en sistemas con soporte DNS64 y “servicio obsoleto” habilitado (configuraciones, habilitar caché obsoleto y habilitar respuesta obsoleta).
  • CVE-2023-6516 Las consultas recursivas especialmente diseñadas pueden hacer que el proceso agote la memoria disponible para ellas.

Fuente: opennet.ru

Añadir un comentario