Vulnerabilidade no módulo ksmbd do núcleo Linux que che permite executar o teu código de forma remota

Identificouse unha vulnerabilidade crítica no módulo ksmbd, que inclúe unha implementación dun servidor de ficheiros baseado no protocolo SMB integrado no núcleo de Linux, que che permite executar o teu código de forma remota con dereitos de núcleo. O ataque pódese realizar sen autenticación; é suficiente que o módulo ksmbd estea activado no sistema. O problema aparece dende o núcleo 5.15, lanzado en novembro de 2021, e solucionouse silenciosamente nas actualizacións 5.15.61, 5.18.18 e 5.19.2, publicadas en agosto de 2022. Dado que o identificador CVE aínda non se asignou ao problema, non hai información exacta sobre como solucionar o problema nas distribucións.

Aínda non se revelaron os detalles sobre a explotación da vulnerabilidade; só se sabe que a vulnerabilidade prodúcese ao acceder a unha área de memoria xa liberada (Use-After-Free) debido á falta de comprobar a existencia dun obxecto antes de realizar operacións. sobre el. O problema débese a que a función smb2_tree_disconnect() liberou a memoria asignada para a estrutura ksmbd_tree_connect, pero despois diso aínda se utilizou un punteiro ao procesar certas solicitudes externas que conteñan ordes SMB2_TREE_DISCONNECT.

Ademais da mencionada vulnerabilidade, tamén se solucionaron 4 problemas menos perigosos en ksmbd:

  • ZDI-22-1688 - execución remota de código con dereitos do núcleo debido a que o código de procesamento do atributo do ficheiro non comproba o tamaño real dos datos externos antes de copialos nun búfer dedicado. A vulnerabilidade vese mitigada polo feito de que o ataque só pode ser realizado por un usuario autenticado.
  • ZDI-22-1691: fuga de información remota da memoria do núcleo debido á comprobación incorrecta dos parámetros de entrada no manejador de comandos SMB2_WRITE (o ataque só pode ser realizado por un usuario autenticado).
  • ZDI-22-1687 - denegación de servizo remota causada polo esgotamento da memoria dispoñible no sistema debido á liberación incorrecta de recursos no controlador de comandos SMB2_NEGOTIATE (o ataque pódese realizar sen autenticación).
  • ZDI-22-1689 - Un fallo do núcleo remoto causado por non comprobar correctamente os parámetros do comando SMB2_TREE_CONNECT, o que resulta nunha lectura desde unha área fóra do búfer (o ataque só pode ser realizado por un usuario autenticado).

O soporte para executar un servidor SMB usando o módulo ksmbd estivo presente no paquete Samba desde a versión 4.16.0. A diferenza dun servidor SMB de espazo de usuario, ksmbd é máis eficiente en termos de rendemento, consumo de memoria e integración con funcións avanzadas do núcleo. Ksmbd preséntase como unha extensión Samba de alto rendemento e preparada para integrar que se integra coas ferramentas e bibliotecas de Samba segundo sexa necesario. O código ksmbd foi escrito por Namjae Jeon de Samsung e Hyunchul Lee de LG, e o kernel é mantido por Steve French de Microsoft, mantedor dos subsistemas CIFS/SMB2/SMB3 no núcleo de Linux e membro dende hai moito tempo do equipo de desenvolvemento de Samba. , que contribuíu significativamente á implementación do soporte para os protocolos SMB/CIFS en Samba e Linux.

Fonte: opennet.ru

Engadir un comentario