Hace algunos días fue lanzada una nueva versión de Webmin con la finalidad de mitigar una vulnerabilidad identifica como un backdoor (CVE-2019-15107), que se encuentra en las versiones oficiales del proyecto, que es distribuida a través de Sourceforge.
El backdoor descubierto estaba presente en las versiones de 1.882 a 1.921 inclusive (no había código con una puerta trasera en el repositorio git) y se le permitía ejecutar comandos de shell arbitrarios en un sistema con privilegios de raíz de forma remota sin autenticación.
Sobre Webmin
Para quienes desconocen de Webmin deben saber que este es un panel de control basado en la web para el control de sistemas Linux. Proporciona una interfaz intuitiva y fácil de usar para administrar su servidor. Las versiones recientes de Webmin también se pueden instalar y ejecutar en sistemas Windows.
Con Webmin, se puede cambiar la configuración de los paquetes comunes sobre la marcha, incluidos los servidores web y las bases de datos, así como administrar usuarios, grupos y paquetes de software.
Webmin permite al usuario poder ver los procesos en ejecución, así como tambien los detalles sobre los paquetes instalados, administrar archivos de registro del sistema, editar archivos de configuración de una interfaz de red, agregar reglas de firewall, configurar la zona horaria y el reloj del sistema, agregar impresoras a través de CUPS, listar los módulos Perl instalados, configurar un SSH o Servidor DHCP, y gestor de registros de dominio DNS.
Webmin 1.930 llega para eliminar el backdoor
La nueva versión de Webmin versión 1.930 fue lanzada para abordar una vulnerabilidad de ejecución remota de código. Esta vulnerabilidad tienen módulos de explotación disponibles públicamente, lo que pone en riesgo muchos sistemas virtuales de administración UNIX.
El aviso de seguridad indica que la versión 1.890 (CVE-2019-15231) es vulnerable en la configuración predeterminada, mientras que las otras versiones afectadas requieren que la opción «cambio de contraseña de usuario» esté habilitada.
Sobre la vulnerabilidad
Un atacante puede enviar una solicitud http maliciosa a la página del formulario de solicitud de restablecimiento de contraseña para inyectar código y hacerse cargo de la aplicación web webmin. Según el informe de vulnerabilidad , un atacante no necesita un nombre de usuario o contraseña válidos para explotar esta falla.
La existencia de esta característica significa que esta vulnerabilidad potencialmente ha estado presente en Webmin desde julio de 2018.
Un ataque requiere la presencia de un puerto de red abierto con Webmin y actividad en la interfaz web de la función para cambiar una contraseña desactualizada (por defecto está habilitada en las compilaciones 1.890, pero está desactivada en otras versiones).
El problema se solucionó en la actualización 1.930.
El problema se descubrió en el script password_change.cgi, en el que la función unix_crypt se usa para verificar la contraseña anterior ingresada en el formulario web , que envía la contraseña recibida del usuario sin escapar caracteres especiales.
En el repositorio de git, esta función es un enlace sobre el módulo Crypt :: UnixCrypt y no es peligroso, pero en el archivo sourceforge provisto con el código, se llama un código que accede directamente a / etc / shadow, pero lo hace con la construcción de shell.
Para atacar, basta con indicar el símbolo «|» en el campo con la contraseña anterior y el código siguiente se ejecutará con privilegios de root en el servidor.
De acuerdo con la declaración de los desarrolladores de Webmin, el código malicioso fue sustituyendo en el resultado del compromiso de la infraestructura del proyecto.
Los detalles aún no se han anunciado, por lo que no está claro si el truco se limitó a tomar el control de una cuenta en Sourceforge o si afectó a otros elementos de la infraestructura de desarrollo y ensamblaje de Webmin.
El problema también afectó las compilaciones de Usermin . Actualmente, todos los archivos de arranque se reconstruyen desde Git.