Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en Securifi Almond (CVE-2017-8329)

Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-119 Restricción de operaciones inapropiada dentro de los límites del búfer de la memoria
Fecha de publicación:
18/06/2019
Última modificación:
20/06/2019

Descripción

Se descubrió un problema en los dispositivos Securifi Almond, Almond + y Almond 2015 con firmware AL-R096. El dispositivo proporciona a un usuario la capacidad de establecer un nombre para la red inalámbrica. Estos valores son almacenados por el dispositivo en NVRAM (RAM no volátil). Parece que los parámetros POST pasados en esta solicitud para configurar nombres en el dispositivo no tienen una verificación de longitud de cadena en ellos. Esto permite que un atacante envíe una gran carga útil en el parámetro POST "mssid_1". El dispositivo también permite que un usuario vea el nombre de la red Wifi configurada por el usuario. Mientras procesa esta solicitud, el dispositivo llama a una función en la dirección 0x00412CE4 (routerSummary) en el "servidor web" binario ubicado en la carpeta Almond, que recupera el valor establecido anteriormente por el parámetro "mssid_1" como SSID2 y este valor produce un desbordamiento del conjunto de pilas para esta función y permite que un atacante controle el valor de registro de $ra en la pila, lo que le permite controlar el dispositivo ejecutando una carga útil a elección del atacante. Si la versión de firmware AL-R096 se disecciona con la herramienta binwalk, obtenemos un archivo cpio-root que contiene el sistema de archivos configurado en el dispositivo que contiene todos los archivos binarios. El binario "goahead" es el que tiene la función vulnerable que recibe los valores enviados por la solicitud POST. Si abrimos este binario en IDA-pro, notaremos que esto sigue un formato MIPS little endian. La función sub_00420F38 en IDA pro está identificada para recibir los valores enviados en el parámetro POST "mssid_1" en la dirección 0x0042BA00 y luego se establece en la NVRAM en la dirección 0x0042C314. El valor se recupera posteriormente en la función en la dirección 0x00412EAC y esto provoca el desbordamiento del búfer a medida que la función copia el valor directamente en la pila.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:securifi:almond_2015_firmware:al-r096:*:*:*:*:*:*:*
cpe:2.3:h:securifi:almond_2015:-:*:*:*:*:*:*:*
cpe:2.3:o:securifi:almond\+firmware:al-r096:*:*:*:*:*:*:*
cpe:2.3:h:securifi:almond\+:-:*:*:*:*:*:*:*
cpe:2.3:o:securifi:almond_firmware:al-r096:*:*:*:*:*:*:*
cpe:2.3:h:securifi:almond:-:*:*:*:*:*:*:*