Vulnerabilidad crítica Zero-day en el plugin “File Manager” de WordPress

File Manager es un plugin diseñado para facilitar a los administradores de WordPress el manejo de los archivos dentro de los sitios, actualmente cuenta con más de 700.000 instalaciones activas. Además, este plugin contiene una librería adicional de código libre llamada elFinder, la cual es utilizada para la creación de una interfaz de administración de archivos simples, proporcionando la funcionalidad principal detrás del administrador de archivos.

¿Qué pasó?

Fue lanzada recientemente una actualización de seguridad, la cual aborda una vulnerabilidad “Zero-Day” de riesgo crítico que afecta a las versiones 6.0 a 6.8 del plugin “File Manager” de WordPress. Un atacante remoto podría aprovechar este fallo para ejecutar código malicioso en el sistema afectado.

La vulnerabilidad reside concretamente en la librería elFinder, y se da cuando File Manager renombra la extensión del archivo “connector.minimal.php.dist a “connector.minimal.php” para que este pueda ser ejecutado directamente, esto a pesar de que dicho archivo no es utilizado por File Manager de manera directa.

Cabe destacar que este tipo de librerías suelen contar con archivos de ejemplo, los cuales no están destinados a ser utilizados tal cual sin antes agregar los controles de accesos correspondientes. Este archivo en concreto, no cuenta con restricciones de acceso directo, lo cual significa que puede ser accedido por cualquier persona. Un atacante remoto podría tomar ventaja de esto y utilizar el archivo “connector.minimal.php” para iniciar un comando elFinder asociado al archivo elFinderConnector.class.php, como se visualiza a continuación:

codFileManager.png

Con esto, cualquier parámetro enviado por el atacante en una solicitud POST al archivo “connector.minimal.php” será ejecutado por la función run(), incluyendo el comando proporcionado en el parámetro cmd.

Esta vulnerabilidad ha sido explotada activamente por atacantes, los cuales han utilizado el comando “upload” para cargar archivos PHP con webshells ocultas en una imagen en el directorio “wp-content/plugins/wp-file-manager/lib/files/”.

Sin embargo, cabe recalcar que elFinder cuenta con protecciones contra vulnerabilidades del tipo Directory Traversal, por lo que un atacante no podría utilizar comandos en ningún archivo fuera del directorio “plugins/wp-file-manager/lib/files/”.

Recomendaciones:

Actualizar el plugin File Manager a la versión 6.9, disponible desde la página oficial de WordPress.

Referencias:

Compartir: