LACNIC CSIRT

Vulnerabilidad en sistemas Linux/Unix permite el secuestro de conexiones VPN cifradas

Investigadores han detectado un fallo en sistemas de la familia Linux/Unix, como por ejemplo FreeBSD, OpenBSD, macOS, iOS y Android, que podría permitir a atacantes espiar y manipular redes VPN encriptadas.

La vulnerabilidad identificada como CVE-2019-14899, afecta a muchos sistemas operativos y opera tanto bajo conexiones IPv4 como IPv6. Según afirman los investigadores, la vulnerabilidad no depende de la tecnología VPN utilizada, puesto que el ataque se puede producir contra protocolos VPN ampliamente utilizados, como por ejemplo, OpenVPN, WireGuard, IKEv2 / IPSec, etc.

Cómo puede ser explotada

Para explotar esta vulnerabilidad basta con enviar al dispositivo de la víctima una serie de paquetes de red no solicitados (sin importar que estos estén encriptados) y observar las respuestas. Por lo que es posible realizarlo controlando un punto de acceso o desde la misma red de la víctima.
Existen diferencias entre los sistemas operativos afectados pero la vulnerabilidad permite en todos ellos introducir datos en el flujo TCP, secuestrar conexiones, obtener la dirección IP virtual de una víctima asignada por el servidor VPN, percibir la existencia de conexiones activas a un sitio web determinado y los números exactos de seq y ack contando los paquetes cifrados o analizando sus tamaños.

Se ha confirmado que la vulnerabilidad puede ser explotada especialmente en aquellas distribuciones Linux que poseen la versión de systemd posterior al 28 de noviembre de 2018, versión en la que se desactiva el filtrado de ruta inversa. Estas distribuciones son:

  • Ubuntu 19.10 (systemd)
  • Fedora (systemd)
  • Debian 10.2 (systemd)
  • Arco 2019.05 (systemd)
  • Manjaro 18.1.1 (systemd)
  • Devuan (sysV init)
  • MX Linux 19 (Mepis + antiX)
  • Linux vacío (runit)
  • Slackware 14.2 (rc.d)
  • Deepin (rc.d)
  • FreeBSD (rc.d)
  • OpenBSD (rc.d)

Se recomienda

  • Activar el filtrado de ruta inversa
  • Implementar el filtrado de direcciones de IP falsas (bogons)
  • Cifrar el tamaño y el tiempo del paquete

Más información

https://seclists.org/oss-sec/2019/q4/122
https://thehackernews.com/2019/12/linux-vpn-hacking.html