Vulnerabilidad crítica en máscara de red podría afectar a millones de usuarios

Especialistas en ciberseguridad reportan la detección de una vulnerabilidad crítica en la popular biblioteca npm MÁSCARA DE RED que podría afectar a los más de 278 mil repositorios de GitHub que dependen de este servicio. MÁSCARA DE RED es usado frecuentemente en cientos de miles de aplicaciones para analizar direcciones IPv4 y bloques CIDR, y es descargado por alrededor de 3 millones de usuarios cada semana.

Acorde al reporte, la falla presente en la biblioteca implica que cuando se analiza una dirección IP con un cero a la izquierda, MÁSCARA DE RED identificará ​en su lugar una IP diferente debido a la implementación de algunas validaciones erróneas. La falla fue reportada por los investigadores Victor Viale, Sick Codes, Nick Sahler, Kelly Kaoudis y John Jackson.

El reporte menciona que la falla, identificada como CVE-2021-28918, está relacionada con la forma en que MÁSCARA DE RED administra las direcciones IP de formato mixto, o más específicamente cuando una dirección IPv4 decimal contiene un cero a la izquierda.

Cabe mencionar que una dirección IP se puede representar en múltiples formatos, incluyendo hexadecimal y enteros, aunque las direcciones IPv4 más comunes se expresan en formato decimal. Como un ejemplo de esto, los investigadores de BleepingComputer señalan que su dirección IPv4 en formato decimal se expresa como 104.20.59.209, que equivale en octal a 0150.0024.0073.0321.

Supongamos que recibe una dirección IP en formato decimal, 127.0.0.1, que se entiende ampliamente como la dirección de bucle de retorno local o localhost. Si tuviera que agregar un 0, ¿debería una aplicación analizar 0127.0.0.1 como 127.0.0.1 o algo más?

Siguiendo con la dirección IP del ejemplo, en el caso de la biblioteca npm de MÁSCARA DE RED, los ceros iniciales al convertir a otro formato se descartarán. Acorde a la especificación original, partes de una dirección IPv4 pueden interpretarse como octal si contienen el prefijo “0”; el problema es que MÁSCARA DE RED no identifica esto, por lo que siempre considerará las partes como decimales y al intentar validar una IP en cierto rango, se tomará como incorrecta la representación de direcciones IPv4 basadas en octales.

Este parece un error sin importancia, aunque los actores de amenazas podrían influir en la entrada de la dirección IP analizada por esta aplicación, generando las condiciones necesarias para el despliegue de ataques de falsificación de solicitudes del lado del servidor (SSRF) e incluso la ejecución de código remoto.

“Piense que alguien está ejecutando un servidor de nodos para desinfectar una solicitud entrante o un parámetro de consulta que se espera que sea un URI utilizado para una conexión posterior; los actores de amenazas pueden crear una IP con algunos o todos los octetos en base 8 y desplegar ataques SSRF o incluso forzar la desconexión de un servidor al cambiar el formato de la dirección IP”, agregan los expertos.

Después de recibir el reporte en tiempo y forma, el desarrollador de MÁSCARA DE RED Oliver Poitrey emitió un conjunto de parches de seguridad, además de publicar algunos casos de análisis para corroborar lo que se menciona en el reporte recibido. La versión corregida de MÁSCARA DE RED (v2.0.0) ya está disponible, por lo que se recomienda a usuarios de versiones afectadas actualizar a la brevedad para prevenir cualquier intento de explotación de CVE-2021-28918.

Para conocer más sobre riesgos de seguridad informática, malware, vulnerabilidades y tecnologías de la información, no dude en ingresar al sitio web del Instituto Internacional de Seguridad Cibernética (IICS).