Una vulnerabilidad en ARK de KDE permite sobrescribir archivos al abrir un archivo comprimido
Dominik Penner y el proyecto KDE emitieron una advertencia sobre una vulnerabilidad grave en el administrador de archivos Ark (desarrollado por el proyecto KDE) en el cual el software no siempre descomprime los archivos donde debería.
Penner informó de esta vulnerabilidad al equipo de seguridad de KDE el 20 de julio de 2020 y el error se solucionó rápidamente en Ark 20.08.0.
Y es que, al abrir un archivo especialmente diseñado en la aplicación, la vulnerabilidad permite poder sobrescribir archivos fuera del directorio especificado para abrir el archivo.
Debido a que ARK es estándar en el entorno KDE y se usa en casi todas las distribuciones de Linux y el entorno de KDE permite a los usuarios iniciar aplicaciones automáticamente cuando un usuario inicia sesión.
Estos inicios automáticos se configuran mediante la creación de archivos .desktop especiales en la carpeta ~/.config / autostart que especifican qué programa ejecutar al iniciar sesión.
El problema también se manifiesta al abrir archivos en el administrador de archivos Dolphin (elemento Extraer en el menú contextual), que utiliza la funcionalidad Ark para trabajar con archivos. La vulnerabilidad recuerda el problema de larga data con Zip Slip.
Para aprovechar el error, un atacante simplemente tendría que atraer a la víctima para que abra un archivo creado con fines malintencionados. Una vez abierto, el malware incluido se ejecutaría automáticamente para realizar las actividades previstas. Esto puede variar desde la instalación de criptomineros y troyanos hasta ataques de ransomware e implantes de backdoors.
Para demostrar esto, Penner desarrolló un código PoC para aprovechar la vulnerabilidad que crea automáticamente archivos de configuración de ejecución automática de KDE extrayendo un archivo especialmente diseñado en la carpeta actual. Una vez que se configura la ejecución automática, la próxima vez que se reinicia la computadora y el usuario inicia sesión en la cuenta, se ejecutará el programa especificado, lo que llevará a la ejecución remota del código.
Esto puede, de acuerdo con un correo electrónico de advertencia en la lista de correo KDE-Announce en Ark hasta la versión 20.04.3, ahora demostrar ser un problema de seguridad. Los archivos manipulados pueden descomprimir sus archivos en cualquier lugar del directorio de inicio.
CVE-2020-16116 es un llamado ataque transversal de ruta. Según el aviso, los atacantes podrían manipular la información de la ruta en archivos maliciosos de tal manera que los archivos que contienen terminen en cualquier lugar del directorio de inicio del usuario después de descomprimirlos (aquí es donde se requiere la interacción del usuario).
Un atacante puede cambiar el «.bashrc» o almacenar cualquier script en «~/.config / autostart» para organizar su código y ejecutarlo con los privilegios del usuario actual.
La explotación de la vulnerabilidad equivale a agregar rutas que contienen caracteres»../» al archivo, durante el procesamiento del cual Ark puede ir más allá del directorio base.
Tras el descubrimiento de la vulnerabilidad por parte del investigador, KDE lanzó el parche para la herramienta.
Según el aviso de KDE, la vulnerabilidad, CVE-2020-16116, alcanzó una clasificación de gravedad importante. KDE corrigió la falla con el lanzamiento de Ark 20.08.0 que evita la carga de archivos maliciosos considerando que, también han propuesto la siguiente solución.
Por lo que los usuarios de KDE deben instalar las actualizaciones o utilizar el parche para una versión anterior con un archivo que corrige la vulnerabilidad.
Aunque también se hace la recomendación de verificar cada archivo antes de descomprimirlo. Si hay una entrada en el archivo que se refiere a un directorio de nivel superior (por ejemplo, “../”), se debe tener cuidado.
Para quienes estén interesados en conocer la estructura del tipo de archivos que pueden aprovecharse de esta vulnerabilidad. Pueden realizar pruebas utilizando un ejemplo de archivo malicioso en el siguiente enlace.
Penner descubrió que la utilidad de archivo ARK no elimina los caracteres cruzados de la ruta al descomprimir. Este error permitió crear archivos que podrían extraer archivos en cualquier lugar al que un usuario tenga acceso.
Finalmente si quieres conocer mas al respecto, puedes consultar los detalles en el siguiente enlace.