4 julio, 2020

Pongara

Simple. Fácil.

Detectan graves vulnerabilidades en el driver de NVIDIA… que no afectan a Linux

NVIDIA

NVIDIA es una compañía que tiende a darnos más amarguras que alegrías a los usuarios de GNU/Linux, una situación que contrasta con el enorme prestigio y cariño que tiene por parte de los usuarios de Windows.

Sin embargo hoy es diferente, ya que NVIDIA ha dado, sin querer, una pequeña alegría a los usuarios de GNU/Linux. Según cuentan nuestros compañeros de MuyComputer, se han detectado cinco graves vulnerabilidades en los drivers oficiales de la marca con sede en Santa Clara, pero estos solo afectan al sistema operativo Windows.

La situación resulta un poco curiosa, porque al contrario de AMD (al menos en lo que se refiere al uso de AMDGPU y Mesa), las diferencias entre los drivers para Windows y GNU/Linux no son tan grandes en el caso de NVIDIA, algo que deriva del fuerte control que ejerce la compañía sobre este componente a través de sus políticas de software privativo.

Si eres usuarios de Windows, tienes que saber que todos los controladores hasta la versión 431.60 se han visto afectados por las siguientes vulnerabilidades:

  • CVE-2019-5683: Es la vulnerabilidad más peligrosa de todas. Utiliza un fallo en el registrador de rastreo del controlador para crear enlaces que el software no verifica. Gracias a ello un atacante podría crear enlaces sin que el sistema lo detecte y forzar la ejecución de código a nivel local, la denegación de servicio y conseguir una escalada de privilegios. Tiene una valoración de 8.8 en la escala CVSS V3.
  • CVE-2019-5684: Esta vulnerabilidad utiliza shaders que han sido cuidadosamente diseñados para provocar un acceso fuera de los límites de la entrada de la matriz de texturas, lo que podría derivar en una denegación del servicio o en la ejecución de código. Es menos grave que el anterior, pero tiene una puntuación alta, 7.8.
  • CVE-2019-5685: También utiliza shaders específicos para provocar un acceso fuera de los límites de la entrada de la matriz de shaders. Sus consecuencias y la puntuación es la misma que en el caso anterior, 7.8.
  • CVE-2019-5686: Es una vulnerabilidad oculta en el controlador de capa en modo kernel para DxgkDdiEscape, que utiliza diferentes estructuras de datos y funciones de la API DirectX que no siempre son válidos, lo que puede acabar produciendo una denegación de servicio si la función o la estructura de datos empleada es incorrecta. Es menos grave, obteniendo una puntuación de 5.6.
  • CVE-2019-5687: Es la menos peligrosa de todas. Es similar a la anterior debido a que se asocia a DxgkDdiEscape y puede poner en riesgo el sistema si se utilizan permisos predeterminados incorrectos para un objeto, derivando en una filtración de información o en la denegación de servicio. Tiene una puntuación de 5.2.

Los usuarios de Windows tienen que actualizar el driver cuanto antes si quieren deshacerse de estos problemas. Por su parte, los usuarios de GNU/Linux también pueden actualizar, aunque más bien les serviría para comprobar si el último juego last gen para Windows comprado funciona mejor sobre Steam Play, ya que el driver de NVIDIA destinado al sistema Open Source no se ha visto afectado por las vulnerabilidades que nos ocupan.

En realidad sigue habiendo un error crítico en el driver de NVIDIA para Linux

Pese a esta curiosidad, el driver de NVIDIA para GNU/Linux sigue padeciendo de un error crítico: La falta de cumplimiento de los estándares establecidos para el stack gráfico del sistema operativo.

Hace tiempo explicamos qué es Mesa, pero a NVIDIA este componente le importa poco debido a que lo pisa con su driver para imponer su propio stack gráfico privativo, el cual añade módulos propios en el kernel. Los inconvenientes de esto son muchos, pudiéndose destacar la relativa poca compatibilidad más allá de GNOME, el retraso en la adopción de Wayland al apostar por EGLSteams como buffer en lugar del estándar GBM y las serias complicaciones a la hora de conseguir un screencast limpio.

Sí, está muy bien eso de volver Physx Open Source, pero viendo la situación técnica de su driver en GNU/Linux, nos tememos que para los usuarios son más urgentes otro tipo de movimientos. ¿Qué tal el acoplar tu driver a lo establecido a través del kernel, Mesa y GBM, NVIDIA? Os dejamos con una muestra de lo que puede ocurrir (y suele ocurrir) cuando se realiza un screencast con el flipping activado.