Se ha presentado la primera versión de la nueva rama principal de nginx 1.21.0, en la que se seguirá desarrollando nuevas funcionalidades. Al mismo tiempo, se ha preparado una versión de corrección para la rama estable 1.20.1, que solo incluye cambios relacionados con la corrección de errores graves y vulnerabilidades. El próximo año, se formará una rama estable 1.22 basada en la rama principal 1.21.x.
En las nuevas versiones se ha corregido una vulnerabilidad (CVE-2021-23017) en el código para la resolución de nombres de host en DNS, que puede provocar un fallo o potencialmente la ejecución de código del atacante. El problema se manifiesta en el tratamiento de ciertas respuestas del servidor DNS, lo que lleva a un desbordamiento de búfer de un solo byte. La vulnerabilidad solo se manifiesta cuando se habilita en la configuración del resolvedor DNS mediante la directiva ‘resolver’. Para llevar a cabo el ataque, el atacante debe poder falsificar paquetes UDP del servidor DNS o controlar el servidor DNS. La vulnerabilidad se manifiesta a partir de la versión 0.6.18 de nginx. Para solucionar el problema en versiones antiguas se puede utilizar un parche.
Cambios en nginx 1.21.0 que no están relacionados con la seguridad:
- Se agregó soporte para variables en las directivas ‘proxy_ssl_certificate’, ‘proxy_ssl_certificate_key’, ‘grpc_ssl_certificate’, ‘grpc_ssl_certificate_key’, ‘uwsgi_ssl_certificate’ y ‘uwsgi_ssl_certificate_key’.
- Se agregó soporte para ‘pipelining’ en el módulo proxy de correo para enviar múltiples solicitudes POP3 o IMAP en una sola conexión, además se introdujo una nueva directiva ‘max_errors’, que define el número máximo de errores de protocolo después de los cuales la conexión se cerrará.
- Se agregó el parámetro ‘fastopen’ al módulo stream, que habilita el modo ‘TCP Fast Open’ para los sockets escuchando.
- Se resolvió el problema de la escape de caracteres especiales al redirigir automáticamente agregando una barra al final.
- Se solucionó el problema del cierre de conexiones con clientes al usar SMTP pipelining.
Fuente: opennet.ru
