Vulnerabilidades en el módulo ksmbd del kernel de Linux que permiten la ejecución remota de código

En el módulo ksmbd, que ofrece una implementación de un servidor de archivos basado en el protocolo SMB integrado en el kernel de Linux, se identificaron 14 vulnerabilidades, cuatro de las cuales permiten ejecutar código de forma remota con derechos del kernel. El ataque se puede realizar sin autenticación, basta con que el módulo ksmbd esté activado en el sistema. Los problemas aparecen a partir del kernel 5.15, que incluía el módulo ksmbd. Las vulnerabilidades se solucionaron en las actualizaciones del kernel 6.3.2, 6.2.15, 6.1.28 y 5.15.112. Puede realizar un seguimiento de las correcciones en las distribuciones en las siguientes páginas: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch.

Problemas identificados:

  • CVE-2023-32254, CVE-2023-32250, CVE-2023-32257, CVE-2023-32258: ejecución remota de código con derechos del kernel debido a la falta de bloqueo de objetos adecuado al procesar solicitudes externas que contienen SMB2_TREE_DISCONNECT, SMB2_SESSION_SETUP, SMB2_LOGOFF y SMB2_CLOSE, lo que resulta en una condición de carrera explotable. El ataque se puede llevar a cabo sin autenticación.
  • CVE-2023-32256: Filtración del contenido de las regiones de memoria del kernel debido a una condición de carrera durante el procesamiento de los comandos SMB2_QUERY_INFO y SMB2_LOGOFF. El ataque se puede llevar a cabo sin autenticación.
  • CVE-2023-32252, CVE-2023-32248: denegación remota de servicio debido a una desreferencia de puntero NULL al procesar los comandos SMB2_LOGOFF, SMB2_TREE_CONNECT y SMB2_QUERY_INFO. El ataque se puede llevar a cabo sin autenticación.
  • CVE-2023-32249: Posibilidad de secuestro de sesión con un usuario debido a la falta de aislamiento adecuado al manejar una ID de sesión en modo multicanal.
  • CVE-2023-32247, CVE-2023-32255: denegación de servicio debido a una pérdida de memoria al procesar el comando SMB2_SESSION_SETUP. El ataque se puede llevar a cabo sin autenticación.
  • CVE-2023-2593 es una denegación de servicio por agotamiento de la memoria disponible, provocada por un fallo de memoria al procesar nuevas conexiones TCP. El ataque se puede llevar a cabo sin autenticación.
  • CVE-2023-32253 Se produce una denegación de servicio debido a un punto muerto al procesar el comando SMB2_SESSION_SETUP. El ataque se puede llevar a cabo sin autenticación.
  • CVE-2023-32251: falta de protección contra ataques de fuerza bruta.
  • CVE-2023-32246 Un usuario del sistema local con derecho a descargar el módulo ksmbd puede lograr la ejecución del código en el nivel del kernel de Linux.

Además, se identificaron 5 vulnerabilidades más en el paquete ksmbd-tools, que incluye utilidades para administrar y trabajar con ksmbd, ejecutadas en el espacio del usuario. Las vulnerabilidades más peligrosas (ZDI-CAN-17822, ZDI-CAN-17770, ZDI-CAN-17820, CVE aún no asignadas) permiten a un atacante remoto no autenticado ejecutar su código con derechos de root. Las vulnerabilidades se deben a la falta de verificación del tamaño de los datos externos recibidos antes de copiarlos al búfer en el código de servicio WKSSVC y en los controladores de código de operación LSARPC_OPNUM_LOOKUP_SID2 y SAMR_OPNUM_QUERY_USER_INFO. Dos vulnerabilidades más (ZDI-CAN-17823, ZDI-CAN-17821) pueden provocar una denegación remota de servicio sin autenticación.

Ksmbd se promociona como una extensión de Samba lista para integrar y de alto rendimiento que se integra con herramientas y bibliotecas de Samba según sea necesario. La compatibilidad para ejecutar un servidor SMB utilizando el módulo ksmbd ha estado presente en el paquete Samba desde la versión 4.16.0. A diferencia de un servidor SMB que se ejecuta en el espacio del usuario, ksmbd es más eficiente en términos de rendimiento, consumo de memoria e integración con capacidades avanzadas del kernel. ksmbd está codificado por Namjae Jeon de Samsung y Hyunchul Lee de LG, y se mantiene como parte del kernel. por Steve French de Microsoft, mantenedor de los subsistemas CIFS/SMB2/SMB3 en el kernel de Linux y miembro desde hace mucho tiempo del equipo de desarrollo de Samba, ha hecho contribuciones significativas a la implementación del soporte para los protocolos SMB/CIFS en Samba y Linux.

Además, se pueden observar dos vulnerabilidades en el controlador de gráficos vmwgfx, utilizado para implementar la aceleración 3D en entornos VMware. La primera vulnerabilidad (ZDI-CAN-20292) permite a un usuario local escalar sus privilegios en el sistema. La vulnerabilidad se debe a la falta de comprobación del estado de un buffer antes de liberarlo al procesar un vmw_buffer_object, lo que podría provocar una doble llamada a la función free. La segunda vulnerabilidad (ZDI-CAN-20110) provoca una pérdida de contenido de la memoria del kernel debido a errores en la organización del bloqueo de objetos GEM.

Fuente: opennet.ru

Añadir un comentario