Alerta de Seguridad No. 21/22: Vulnerabilidad de día cero en Nginx

  • 13/04/2022
  • 98
Alerta de Seguridad No. 21/22: Vulnerabilidad de día cero en Nginx

Esta semana se ha revelado públicamente una nueva vulnerabilidad Zero-Day en el servidor web Nginx. Se trata de una vulnerabilidad de explotación remota de código (RCE) en la implementación del demonio de autenticación LDAP de Nginx. Los grupos hacktivistas BrazenEagle y AgainstTheWest afirman que cuentan con un exploit experimental que afecta la versión 1.18.

Productos Afectados:
Nginx 1.18 

Descripción:
La vulnerailidad RCE afecta la implementación de referencia de NGINX LDAP (Protocolo Ligero de Acceso a Directorios). Los desarrolladores de Nginx han publicado que NGINX Open Source y NGINX Plus no se ven afectados por sí mismos y no es necesaria ninguna acción correctiva si no utiliza la implementación de referencia.

Nota: La implementación de referencia de LDAP se publica como referencia o guía (https://github.com/nginxinc/nginx-ldap-auth), y describe cómo funciona la integración y todos los componentes necesarios para verificar la integración. No es una solución LDAP de nivel de producción. Por ejemplo, no hay encriptación del nombre de usuario y la contraseña utilizados para la página de inicio de sesión de muestra, y los avisos de seguridad lo indican.

Según el reporte oficial de Nginx, la implementación de referencia LDAP se ve afectada por las vulnerabilidades cuando se presenta una de las siguientes condiciones:

  • Los parámetros de la línea de comandos se utilizan para configurar el demonio de Python.
  • Hay parámetros de configuración opcionales sin usar.
  • La autenticación LDAP depende de la pertenencia a un grupo específico.

 

Los actores de amenazas podrían anular los parámetros de configuración enviando encabezados de solicitud HTTP especialmente diseñados: “El demonio de Python no limpia sus entradas. En consecuencia, un atacante puede usar un encabezado de solicitud especialmente diseñado para evadir la verificación de membresía del grupo (memberOf) y forzar la autenticación LDAP para que tenga éxito incluso si el usuario que se está autenticando no pertenece a los grupos requeridos”.

Como mitigación, los desarrolladores recomiendan verificar que el daemon back-end que presenta el formulario de inicio de sesión elimine los caracteres especiales del campo de nombre de usuario. En particular, se deben eliminar los paréntesis de apertura y cierre y el signo de igual. También se recomienda a los usuarios eliminar los caracteres especiales del campo de nombre de usuario en el formulario de inicio de sesión y actualizar los parámetros de configuración apropiados con un valor vacío.

Recomendaciones:

Aplicar las recomendaciones publicadas por Nginx en su sitio web oficial.

Referencias:

  • https://www.nginx.com/blog/addressing-security-weaknesses-nginx-ldap-reference-implementation/?utm_medium=owned-social&utm_source=twitter&utm_campaign=ww-nx_sec_g&utm_content=bg-
  • https://github.com/nginxinc/nginx-ldap-auth
  • https://github.com/AgainstTheWest/NginxDay
  • https://twitter.com/Gi7w0rm/status/1512789855197093891