Las nuevas actualizaciones de DNS BIND solucionan una vulnerabilidad de ejecución remota de código
Hace ya varios dias se dio a conocer la liberación de las nuevas versiones correctivas de DNS BIND de las ramas estables 9.11.31 y 9.16.15 y también se encuentra en el desarrollo de las ramas experimentales 9.17.12, este es el servidor de DNS más comúnmente usado en Internet y especialmente usado en sistemas Unix, en los cuales es un estándar y es patrocinado por la Internet Systems Consortium.
En la publicación realizada de las nuevas versiones se menciona que la intención principal es el corregir tres vulnerabilidades, una de las cuales (CVE-2021-25216) provoca un desbordamiento del búfer.
Se menciona que en los sistemas de 32 bits, la vulnerabilidad podría aprovecharse para ejecutar de forma remota el código que fuera diseñado por el atacante mediante el envío de una solicitud GSS-TSIG especialmente diseñada, mientras que para sistemas de 64 bits, el problema se limita al bloqueo del proceso nombrado.
El problema se manifiesta solo cuando el mecanismo GSS-TSIG está habilitado, que se activa mediante la configuración tkey-gssapi-keytab y tkey-gssapi-credential. GSS-TSIG está deshabilitado de forma predeterminada y generalmente se usa en entornos mixtos donde BIND se combina con controladores de dominio de Active Directory o cuando se integra con Samba.
La vulnerabilidad se debe a un error en la implementación del Mecanismo de negociación GSSAPI simple y protegido (SPNEGO), que GSSAPI utiliza para negociar los métodos de protección utilizados por el cliente y el servidor. GSSAPI se utiliza como protocolo de alto nivel para el intercambio seguro de claves mediante la extensión GSS-TSIG, que se utiliza para autenticar actualizaciones dinámicas en zonas DNS.
Los servidores BIND son vulnerables si ejecutan una versión afectada y están configurados para usar las funciones GSS-TSIG. En una configuración que usa la configuración predeterminada de BIND, la ruta del código vulnerable no está expuesta, pero un servidor puede volverse vulnerable estableciendo explícitamente valores para las opciones de configuración tkey-gssapi-keytabo tkey-gssapi-credential.
Aunque la configuración predeterminada no es vulnerable, GSS-TSIG se usa con frecuencia en redes donde BIND está integrado con Samba, así como en entornos de servidores mixtos que combinan servidores BIND con controladores de dominio de Active Directory. Para los servidores que cumplen estas condiciones, la implementación de ISC SPNEGO es vulnerable a varios ataques, dependiendo de la arquitectura de la CPU para la que se creó BIND:
Dado que las vulnerabilidades críticas en la implementación interna de SPNEGO encontraron y anterior , la implementación de este protocolo se elimina de la base de código de BIND 9. Para los usuarios que necesitan para apoyar SPNEGO, se recomienda utilizar una aplicación externa proporcionada por la biblioteca del sistema GSSAPI (disponible en MIT Kerberos y Heimdal Kerberos).
En cuanto a las otras dos vulnerabilidades que fueron solucionadas con la liberación de esta nueva versión correctiva, se mencionan las siguientes:
- CVE-2021-25215: bloqueo del proceso con nombre al procesar registros DNAME (redireccionamiento del procesamiento de algunos subdominios), lo que lleva a la adición de duplicados a la sección RESPUESTA. Para aprovechar la vulnerabilidad en los servidores DNS autorizados, se requieren cambios en las zonas DNS procesadas y, para los servidores recursivos, se puede obtener un registro problemático después de contactar al servidor autorizado.
- CVE-2021-25214: bloqueo del proceso con nombre al procesar una solicitud IXFR entrante especialmente formada (utilizada para la transferencia incremental de cambios en zonas DNS entre servidores DNS). Solo los sistemas que han permitido transferencias de zona DNS desde el servidor del atacante se ven afectados por el problema (las transferencias de zona se utilizan normalmente para sincronizar servidores maestro y esclavo y se permiten de forma selectiva solo para servidores de confianza). Como solución alternativa, puede desactivar la compatibilidad con IXFR con la configuración «request-ixfr no».
Los usuarios de versiones anteriores de BIND, como una solución para bloquear el problema, pueden deshabilitar GSS-TSIG en la configuración o reconstruir BIND sin el soporte de SPNEGO.
Finalmente si estás interesado en conocer más al respecto sobre la liberación de estas nuevas versiones correctivas o sobre las vulnerabilidades solucionadas, puedes consultar los detalles dirigiéndote al siguiente enlace.