Se han publicado actualizaciones correctivas para la rama estable del servidor DNS BIND 9.16.18 y la rama experimental en desarrollo 9.17.15, en las que se ha solucionado un error crítico que apareció en las versiones BIND 9.16.17 y 9.17.14, publicadas la semana pasada (al día siguiente de estos lanzamientos, los desarrolladores advirtieron sobre el problema y recomendaron no instalar las versiones 9.16.17 y 9.17.14).
En las versiones 9.16.17 y 9.17.14, se omitió el carácter «w» en las tablas de mapeo de caracteres en mayúsculas y minúsculas (maptoupper y maptolower), lo que provocó que los caracteres «W» y «w» en los nombres de dominio se reemplazaran por la secuencia «\000» y devolvieran un resultado incorrecto al procesar solicitudes por patrón. Por ejemplo, si en la zona DNS había un registro «*.sub.test.local. 1 A 127.0.0.1», la consulta del nombre UVW.sub.test.local producía una respuesta que devolvía el nombre «uv\/000.sub.test.local» en lugar de «uvw.sub.test.local».
Además, se informaron problemas con el reemplazo del carácter «w» por «\000» en la actualización dinámica de la zona si el registro del carácter «w» en la solicitud era diferente al registro en la zona DNS. Por ejemplo, si había un registro en la zona «WW.example» y se envió una actualización para «foo.ww.example.», se procesaba como «foo.\000\000.example.». Los problemas de reemplazo de caracteres también podrían surgir al realizar operaciones de transferencia de zonas de un servidor DNS primario a uno secundario.
La publicación de la actualización 9.16.18 se retrasó debido a la detección de otros dos errores que permanecieron sin resolver en las versiones 9.16.18 y 9.17.15. Los errores provocan bloqueos mutuos durante la inicialización y se manifiestan en configuraciones donde se utilizan zonas idénticas en la política de dnssec-policy que están presentes en diferentes vistas (view). Se recomienda a los usuarios con configuraciones similares que retrocedan a la versión BIND 9.16.16.
Fuente: opennet.ru
