Se ha revelado información sobre una vulnerabilidad (CVE-2021-4160) en la biblioteca criptográfica OpenSSL, provocada por un error en la implementación del sumador en la función BN_mod_exp, que conduce a devolver un resultado incorrecto de la operación de elevación al cuadrado. El problema se manifiesta solo en hardware basado en las arquitecturas MIPS32 y MIPS64, y puede comprometer los algoritmos basados en curvas elípticas, incluidas las que se utilizan por defecto en TLS 1.3. El problema se solucionó en las actualizaciones de diciembre de OpenSSL 1.1.1m y 3.0.1.
Se observa que la implementación de ataques reales para obtener información sobre claves privadas utilizando el problema identificado se considera posible, aunque poco probable, demasiado compleja de ejecutar y que requiere enormes recursos computacionales. Una ataque a TLS se excluye, ya que en 2016, al solucionar la vulnerabilidad CVE-2016-0701, se prohibió el uso compartido de una misma clave privada DH por parte de los clientes.
Además, se pueden mencionar varias vulnerabilidades recientemente descubiertas en proyectos de código abierto:
- Varias vulnerabilidades (CVE-2022-0330) en el controlador gráfico i915, relacionadas con la falta de reinicio del TLB para la GPU. En caso de que no se aplique IOMMU (traducción de direcciones), la vulnerabilidad permite acceder desde el espacio de usuario a páginas de memoria aleatorias. El problema puede ser explotado para dañar o leer datos de áreas aleatorias de memoria. Este problema se manifiesta en todas las GPU Intel integradas y discretas. La solución se implementó mediante la adición de un reinicio obligatorio del TLB antes de realizar cada operación de retorno de búfer de la GPU al sistema, lo que conducirá a una disminución del rendimiento. El impacto en el rendimiento depende de la GPU, las operaciones realizadas en la GPU y la carga del sistema. La solución está disponible solo en forma de parche.
- Vulnerabilidad (CVE-2022-22942) en el controlador gráfico vmwgfx, utilizado para implementar aceleración 3D en entornos VMware. El problema permite que un usuario no privilegiado acceda a archivos abiertos por otros procesos en el sistema. Para realizar el ataque, es necesario tener acceso al dispositivo /dev/dri/card0 o /dev/dri/rendererD128, así como la capacidad de realizar una llamada ioctl() con el descriptor de archivo obtenido.
- Vulnerabilidades (CVE-2021-3996, CVE-2021-3995) en la biblioteca libmount, suministrada en el paquete util-linux, que permiten a un usuario no privilegiado desmontar particiones de disco sin tener autorización para ello. El problema fue identificado durante una auditoría de los programas SUID-root umount y fusermount.
- Vulnerabilidades en la biblioteca estándar de C Glibc, que afectan a las funciones realpath (CVE-2021-3998) y getcwd (CVE-2021-3999).
- El problema en realpath() se debe a que, en ciertas condiciones, devuelve un valor incorrecto que contiene datos residuales no purgados del stack. Para el programa SUID-root fusermount, la vulnerabilidad puede ser explotada para obtener información confidencial de la memoria del proceso, por ejemplo, para obtener detalles sobre punteros.
- El problema en getcwd() permite provocar un desbordamiento de buffer de un byte. Este problema se debe a un error presente desde 1995. Para activar el desbordamiento, basta con llamar a chdir() para el directorio «/» en un espacio de nombres separado de puntos de montaje. No se informa si la vulnerabilidad se limita únicamente a la finalización anómala del proceso, pero en el pasado, ha habido casos de creación de exploits funcionales para vulnerabilidades similares, a pesar del escepticismo de los desarrolladores.
- La vulnerabilidad (CVE-2022-23220) en el paquete usbview permite a los usuarios locales que han iniciado sesión a través de SSH ejecutar código con privilegios de root, debido a la configuración (allow_any=yes) en las reglas de PolKit que permite ejecutar la utilidad usbview bajo el usuario root sin autenticación. La explotación consiste en usar la opción «--gtk-module» para cargar su propia biblioteca en usbview. El problema ha sido solucionado en la versión usbview 2.2.
Fuente: opennet.ru
