En el paquete , que proporciona herramientas para la gestión remota del servidor, un backdoor (), encontrado en las versiones oficiales del proyecto, a través de Sourceforge y en el sitio principal. El backdoor estuvo presente en las versiones desde 1.882 hasta 1.921 inclusive (en el repositorio git el código con el backdoor está ausente) y permitía ejecutar comandos shell arbitrarios en el sistema con privilegios de root sin pasar por la autenticación.
Para llevar a cabo el ataque, es suficiente con tener un puerto de red abierto con Webmin y la actividad en la interfaz web de la función de cambio de contraseña obsoleta (que por defecto está habilitada en las versiones 1.890, pero está desactivada en las demás versiones). El problema en 1.930. Como medida temporal para bloquear el backdoor, basta con eliminar la configuración «passwd_mode=» del archivo de configuración /etc/webmin/miniserv.conf. Para pruebas se ha preparado .
El problema fue en el script password_change.cgi, en el que para verificar la antigua contraseña introducida en el formulario web la función unix_crypt, a la que se le pasa la contraseña recibida del usuario sin realizar la escapatoria de los caracteres especiales. En el repositorio git esta función está encapsulada sobre el módulo Crypt::UnixCrypt y no representa un peligro, pero en el archivo de código proporcionado en el sitio de Sourceforge se llama a un código que accede directamente a /etc/shadow, pero lo hace mediante una construcción shell. Para el ataque, es suficiente introducir en el campo de la antigua contraseña el carácter «|» y el código que sigue a este será ejecutado con privilegios de root en el servidor.
Por los desarrolladores de Webmin, el código malicioso se insertó como resultado de la intervención en la infraestructura del proyecto. Aún no se han comunicado detalles, por lo que no está claro si la brecha se limitó a la toma de control de la cuenta en Sourceforge o afectó a otros elementos de la infraestructura de desarrollo y construcción de Webmin. El código malicioso estuvo presente en los archivos desde marzo de 2018. El problema también afectó . En la actualidad, todos los archivos comprimidos han sido reconstruidos a partir de Git.
Fuente: opennet.ru
