FireEye Mandiant ha publicado información detallada sobre una vulnerabilidad de Oracle Solaris que ha sido aprovechada en ataques por un actor de amenazas sofisticado.

Rastreada como CVE-2020-14871, la vulnerabilidad se identificó en junio, pero solo se lanzó un parche como parte de la Actualización del parche crítico de octubre de 2020 de Oracle . El actor de amenazas que abusa del error, que se rastrea como UNC1945, ha estado apuntando activamente a los sistemas Solaris durante al menos un par de años.

La vulnerabilidad de día cero se descubrió en la biblioteca Módulos de autenticación conectables (PAM), que permite la autenticación de usuarios en aplicaciones Solaris, al tiempo que brinda a los administradores la opción de configurar parÔmetros de autenticación.

CVE-2020-14871, explica Mandiant, es un desbordamiento de búfer basado en pila que reside en la función parse_user_name de PAM y se activa cuando se pasa a la función un nombre de usuario mÔs largo que PAM_MAX_RESP_SIZE (que tiene 512 bytes). La falla permite que un atacante no autenticado ponga en peligro los sistemas Oracle Solaris.

“Es probable que la vulnerabilidad haya existido durante dĆ©cadas, y una posible razón es que solo se puede explotar si una aplicación no limita los nombres de usuario a una longitud menor antes de pasarlos a PAM. Una situación en la que el software orientado a la red no siempre limita la longitud del nombre de usuario surge en el servidor SSH, y este es el vector de explotación utilizado por la herramienta [EVILSUN] que descubrimos ”, seƱala Mandiant.

Cortesía de este error, un atacante podría apuntar a la autenticación de teclado interactivo SSH, donde SSH se aprovecha para transmitir mensajes y respuestas entre el cliente y las bibliotecas PAM en el servidor. Admite formas de autenticación de dos factores y otras.

“Al manipular la configuración del cliente SSH para forzar la autenticación del teclado interactivo para solicitar el nombre de usuario en lugar de enviarlo por los medios normales, un atacante tambiĆ©n puede pasar una entrada ilimitada a la función parse_user_name de PAM ”, explican los investigadores de seguridad de Mandiant.

Los investigadores idearon un exploit de prueba de concepto diseñado para activar el error y bloquear el servidor SSH. En los servidores vulnerables, el cliente SSH envía un mensaje de "Autenticación fallida", mientras que uno no vulnerable solicita repetidamente un nombre de usuario cuando recibe uno que es demasiado largo.

Los sistemas operativos vulnerables, dice Madiant, incluyen algunas versiones de Solaris 9, todas las versiones de Solaris 10, Solaris 11.0 e Illumos (OpenIndiana 2020.04). Oracle ha publicado parches para Solaris 10 y 11, pero no para Solaris 9, que ya no es compatible.

En los sistemas Solaris 11.1 y posteriores sin parches , la función parse_user_name sigue siendo vulnerable, pero algunos cambios en la biblioteca PAM hacen que el nombre de usuario se trunque antes de entregarse a la función vulnerable, evitando así la explotación a través de SSH.

"Si se pudiera acceder a la función parse_user_name en otro contexto, entonces la vulnerabilidad podría volverse explotable", explica Madiant.

Para los sistemas Solaris 9, así como para los servidores Solaris 10 u 11 en los que la aplicación de parches es inconveniente, la modificación del archivo / etc / ssh / sshd_config agregando las líneas ChallengeResponseAuthentication no y KbdInteractiveAuthentication no y reiniciar el servidor SSH se puede utilizar como solución alternativa.

Sin embargo, esto no elimina la vulnerabilidad y la explotación aún podría ser posible si un atacante logra llegar a la función parse_user_name de alguna manera. Por lo tanto, instalar las correcciones incluidas en la Actualización del parche crítico de octubre de 2020 es la ruta de acción recomendada.

fuente: securityweek