DNSpooq es un conjunto de vulnerabilidades en DNSMasq, un software de reenvío DNS que toma las solicitudes de DNS realizadas por usuarios locales, reenvía la solicitud a un servidor DNS ascendente y luego almacena en caché los resultados una vez que llegan, haciendo que los mismos resultados estén disponibles para otros clientes sin necesidad de realizar una nueva consulta DNS en sentido ascendente.
Dnsmasq es muy popular y se han identificado aproximadamente 40 proveedores que usan dnsmasq en sus productos, así como las principales distribuciones de Linux.
Cuatro vulnerabilidades identificadas con los ID CVE-2020-25681, CVE-2020-25682, CVE-2020-25683 y CVE-2020-25687 son desbordamientos de búfer en el código Dnsmasq que podrían permitir escenarios de ejecución remota de código en el dispositivo vulnerable. La vulnerabilidad reside en las primeras etapas de la validación de DNSSEC, lo que hace que la defensa de DNSSEC contra los ataques de DNS sea ineficaz. Los desbordamientos de búfer basados en el montón solo pueden conducir a la denegación de servicio cuando se utiliza DNSSEC, sin embargo no se recomienda desactivarlo, sino actualizar a la versión más reciente de Dnsmasq.
Tres vulnerabilidades identificadas con los ID CVE-2020-25684, CVE-2020-25685 y CVE-2020-25686 podrían permitir envenenamiento de caché DNS (DNS Spoofing) que reemplaza los registros DNS legítimos por otros y redirige a los usuarios a servidores maliciosos bajo control del atacante, mientras que los visitantes perciben el sitio como legítimo.
Se recomienda que los proveedores actualicen su software Dnsmasq a la última versión 2.83 o superior.
Existen otras medidas de mitigación publicadas por JSOF en su informe técnico sobre la revisión de DNSpooq, estas incluyen:
- Consultar la versión dnsmasq que se está usando.
- Implementar funciones de seguridad de capa 2, como la vigilancia de DHCP y protección de la IP fuente, para evitar un ataque desde la LAN.
Soluciones Parciales:
- Deshabilitar dnsmasq no escuchar en las interfaces WAN que no es necesario en su entorno.
- Las consultas máximas permitidas para ser reenviadas con la opción – dns-forward-max = <queries> -. El valor predeterminado es 150, pero podría reducirse.
- Desactivar temporalmente la opción de validación de DNSSEC hasta que con se lanze un parche.de seguridad de transporte para DNS (como DoT o DoH). Esto mitigará DNSpooq pero puede tener otras implicaciones de seguridad y privacidad. Considere su propia configuración, objetivos de seguridad y riesgos antes de hacer esto.
- Reducir el tamaño máximo de los mensajes EDNS.
Referencias: