RouterOS IPv6 Vulnerable {todas las versiones}


Sin tan solo tenes IPv6 activado y no lo estas usando, sos vulnerable a un pseudo ataque por una vulnerabilidad que esta en el Kernel de RouterOS y al parecer (Segun Normis), al ser un kernel tan viejo es muy dificil parchearlo.

Problemas en el paraíso

Hay publicaciones oficiales de un experto en seguridad que dice haber notificado estas vulnerabilidades hace un año atras, con lo cual en los últimos dias se ha generado cierta tension en la comunidad de Mikrotik que se lee claramente en algunos hilos del foro.

Normis, quien esta en el team técnico de RouterOS dice que solo le enviaron un reporte genérico y un video, pero no esta muy claro y que no los ayuda demasiado a resolver los problemas. También dice que no hay 1 solo problema, son multiples y que los resolvieron en su mayoria, pero solicita a los que puedan reproducir la vulnerabilidad, envíen email al soporte describiendo la metodología usada, para poder incluir el fix antes de la version beta 22.

NORMIS responde:

We fixed the crashes that were reported to us. You said, we have not fixed «The CVE». I don’t know what you will publish in the CVE. You have only provided a video that doesn’t help at all. If you can reproduce an issue that we can’t reproduce, please email support and describe the method you used now, after beta 22.

NORMIS responde:

No. He did not send proof of concept for all issues, just a generic report about a crash. When he now said that CVE number such and such is not fixed, It was not clear, since we don’t know what he will publish in that CVE. There is not a single issue, there are multiple issues, we fixed most, now he has stumbled upon another (memory leak in some other condition). We are fixing the others as well.

Segun explica Maxi la vulnerabilidad se produce por un paquete IPv6 mal formado que provoca que el router genere un pico de memoria y se reinicie, y forwardeando este paquete genera un efecto en cadena increíble reiniciando todos los routers que se encuentren bajo ese mismo routeo IPv6.

Soluciones parciales:

Las soluciones hasta el momento, son parciales, hasta que salga el proximo beta. La solución para los que no estan usando IPv6 es simplemente desactivar el paquete y reiniciar el router.

Y la solución parcial para el que si esta utilizando IPv6 (como es mi caso), es agregar unas reglas en el firewall que segun pruebas de algunos participantes del foro están funcionando bien.

Until we release the next beta with memory exhaustion fix, this firewall config should stop any attack even with small amount of RAM:


/ipv6 firewall filter

add action=drop chain=forward connection-mark=drop connection-state=new

/ipv6 firewall mangle

add action=accept chain=prerouting connection-state=new dst-address=\ 2001:db8:3::/64 limit=2,5:packet

add action=mark-connection chain=prerouting connection-state=new dst-address=\ 2001:db8:3::/64 new-connection-mark=drop passthrough=yes

Reemplazar 2001:db8:3::/64 con el bloque IPv6 entregado por tu RIR

Update Beta

El sabado mientras yo redactaba este post, Mikrotik lanzo un beta con algunas correcciones:

What’s new in 6.45beta23 (2019-Apr-01 05:51):

MAJOR CHANGES IN v6.45:
———————-
!) ipv6 – fixed soft lockup when forwarding IPv6 packets;
!) ipv6 – fixed soft lockup when processing large IPv6 Neighbor table;

———————- 

Changes in this release:

*) ipsec – properly drop already established tunnel when address change detected;
*) ipv6 – adjust IPv6 route cache max size based on total RAM memory;
*) smb – fixed possible buffer overflow;

Saludos y a cuidar esos routers!!.

Tech-nico!!

Deja un comentario