Routers de MikroTik vulnerables a ataques de denegación de servicio

Estándar

El jueves de la semana pasada (4 de abril 2019), MikroTik publicó detalles sobre un problema que es fácil de explotar de forma remota para causar una condición de denegación de servicio (DoS) en dispositivos que ejecutan RouterOS, que es la mayoría de los productos del fabricante.

Las últimas actualizaciones para el sistema operativo están destinadas a solucionar el problema, pero no tienen el mismo efecto en todos los dispositivos y algunos de ellos siguen siendo vulnerables.

Rastreado como CVE-2018-19299, la vulnerabilidad afecta al equipo MikroTik no parcheado que enruta los paquetes IPv6. Para dejar al router fuera de servicio, todo lo que un atacante debe hacer es enviar una cadena específica de paquetes IPv6 que aumentaría el uso de RAM en el enrutador.

Aunque la transición a IPv6 está lejos de ser completa, la adopción ha crecido últimamente. Los datos de Akamai del 1 de abril muestran que India es el país que realiza la mayor parte del tráfico a través de IPv6 (63,3%), seguido por la isla caribeña francófona de San Bartolomé (St. Barts) (51%) y los Estados Unidos (46,5%).

El vendedor letón explica en la publicación del blog en que explicó la falla que: “hace que se llenara la memoria porque el tamaño del caché de ruta IPv6 podría ser mayor que la RAM disponible“. Para solucionarlo, el nuevo RouterOS puede calcular el tamaño del caché en función de la memoria disponible en el dispositivo.

Esta solución está presente en las versiones actuales y estables (v6.44.2) y de largo plazo (v6.43.14) de RouterOS, pero funciona solo en dispositivos con más de 64 MB de RAM, dice Marek Isalski, CTO de Faelix – un ISP, hosting, y proveedor de seguridad con sede en Manchester, Reino Unido.

Esta fue la conclusión de Isalski después de las pruebas en el hardware MikroTik con 64 MB de RAM. El entrenador de MikroTik, Javier Prieto, encontró la vulnerabilidad de forma independiente, al igual que otros ingenieros de redes, y se dio cuenta de que los enrutadores con RouterOS 6.44.2 no fallaban si tenían suficiente memoria.

Al usar Cloud Hosted Router (CHR), una versión de RouterOS optimizada para ejecutarse en una máquina virtual, con 256 MB de RAM, Prieto vio que el sistema mostraba 197 MB libres antes del ataque. “Durante el ataque, solo desde una computadora, la memoria libre se reduce a alrededor de 20 MiB y a veces, a 13 MiB”, compartió en el foro de MikroTik.

Isalski fue quien descubrió la vulnerabilidad y la informó a MikroTik el año pasado, el 16 de abril, según una versión resumida de la línea de tiempo que proporcionó. Él dice que la compañía reconoció el problema y lo clasificó como “no una vulnerabilidad de seguridad”. A mediados de marzo, alertó a varios grupos de respuesta cibernética sobre la vulnerabilidad y proporcionó evidencia de su explotación en internet.

No es posible mitigar el riesgo de DoS mediante la configuración de filtros en el firewall del RouterOS, ya que cualquiera que sea la causa del agotamiento de la memoria se puede configurar con cualquier paquete IPv6.

Si la funcionalidad de IPv6 está habilitada (está inactiva de manera predeterminada), Isalski dijo que CVE-2018-19299 “afecta a casi todos los dispositivos de MikroTik, incluso aquellos que se usan como enrutadores ‘centrales’ o ‘de retorno‘”.

Recomienda encarecidamente a los operadores de red que cambiaron al protocolo de comunicaciones IPv6 para probar e implementar RouterOS 6.43.14 y 6.44.2 “tan pronto como puedan“.

Se han lanzado más de 20 versiones de RouterOS desde que MikroTik se enteró de la vulnerabilidad. Una razón para esto, además de descartar su riesgo de seguridad, es que la falla está en el nivel del núcleo y es muy difícil de solucionar. Un miembro del equipo de soporte de la compañía dijo que RouterOS v6 tiene una versión anterior del kernel y que no se puede cambiar.

Para hardware con pocos recursos de RAM, se esperan optimizaciones en la próxima versión beta de RouterOS. La fecha de lanzamiento es actualmente desconocida, sin embargo.