Docenas de fallas graves encontradas en 4 populares software VNC de código abierto

Vulnerabilidades del software VNC

Cuatro populares aplicaciones de escritorio remoto VNC de código abierto han resultado vulnerables a un total de 37 vulnerabilidades de seguridad, muchas de las cuales pasaron desapercibidas durante los últimos 20 años y las más graves podrían permitir que los atacantes remotos comprometan un sistema objetivo.

VNC (computación de red virtual) es un protocolo de uso compartido de escritorio gráfico de código abierto basado en RFB (Remote FrameBuffer) que permite a los usuarios controlar de forma remota otra computadora, similar al servicio RDP de Microsoft.

La implementación del sistema VNC incluye un «componente de servidor», que se ejecuta en la computadora que comparte su escritorio, y un «componente de cliente», que se ejecuta en la computadora que accederá al escritorio compartido.

En otras palabras, VNC le permite usar su mouse y teclado para trabajar en una computadora remota como si estuviera sentado frente a ella.

Existen numerosas aplicaciones VNC, tanto gratuitas como comerciales, compatibles con sistemas operativos ampliamente utilizados como Linux, macOS, Windows y Android.

Teniendo en cuenta que actualmente hay más de 600 000 servidores VNC accesibles de forma remota a través de Internet y casi el 32 % de los cuales están conectados a sistemas de automatización industrial, los investigadores de seguridad cibernética de Kaspersky auditaron cuatro implementaciones de VNC de código abierto ampliamente utilizadas, que incluyen:

  • LibVNC
  • UltraVNC
  • TightVNC 1.x
  • TurboVNC

Después de analizar este software VNC, los investigadores encontraron un total de 37 nuevas vulnerabilidades de corrupción de memoria en software de cliente y servidor: 22 de las cuales se encontraron en UltraVNC, 10 en LibVNC, 4 en TightVNC, solo 1 en TurboVNC.

«Todos los errores están relacionados con el uso incorrecto de la memoria. Explotarlos solo conduce a fallos de funcionamiento y denegación de servicio, un resultado relativamente favorable», dice Kaspersky. «En casos más graves, los atacantes pueden obtener acceso no autorizado a la información del dispositivo o liberar malware en el sistema de la víctima.

Algunas de las vulnerabilidades de seguridad descubiertas también pueden conducir a ataques de ejecución remota de código (RCE), lo que significa que un atacante podría explotar estas fallas para ejecutar código arbitrario en el sistema de destino y obtener control sobre él.

Dado que la aplicación del lado del cliente recibe más datos y contiene componentes de decodificación de datos en los que los desarrolladores suelen cometer errores durante la programación, la mayoría de las vulnerabilidades afectan a la versión del software del lado del cliente.

Por otro lado, el lado del servidor contiene relativamente una base de código pequeña sin una funcionalidad compleja, lo que reduce las posibilidades de vulnerabilidades de corrupción de memoria.

Sin embargo, el equipo descubrió algunos errores explotables del lado del servidor, incluida una falla de desbordamiento del búfer de pila en el servidor TurboVNC que hace posible lograr la ejecución remota de código en el servidor.

Pero explotar esta falla requiere credenciales de autenticación para conectarse al servidor VNC o controlar al cliente antes de que se establezca la conexión.

Por lo tanto, como medida de protección contra los ataques que explotan las vulnerabilidades del lado del servidor, se recomienda a los clientes que no se conecten a servidores VNC que no sean de confianza o que no hayan sido probados, y se requiere que los administradores protejan sus servidores VNC con una contraseña segura y única.

Kaspersky informó sobre las vulnerabilidades a los desarrolladores afectados, todos los cuales emitieron parches para sus productos compatibles, excepto TightVNC 1.x, que ya no es compatible con sus creadores. Por lo tanto, se recomienda a los usuarios que cambien a la versión 2.x.

Continua leyendo