Vulnerabilidade no módulo ksmbd do núcleo Linux, permitindo a execução remota de código

No módulo ksmbd, que inclui uma implementação incorporada no núcleo do Linux do servidor de arquivos baseado no protocolo SMB, foi identificada uma vulnerabilidade crítica que permite a execução remota de código com privilégios de núcleo. O ataque pode ser realizado sem autenticação, desde que o módulo ksmbd esteja ativado no sistema. O problema foi detectado a partir do núcleo 5.15, lançado em novembro de 2021, e foi corrigido nas atualizações 5.15.61, 5.18.18 e 5.19.2, publicadas em agosto de 2022. Como o identificador CVE ainda não foi atribuído ao problema, não há informações exatas sobre a correção nos pacotes de distribuição.

Os detalhes da exploração da vulnerabilidade ainda não foram divulgados, sabe-se apenas que ela é causada por uma referência a uma área de memória já liberada (Use-After-Free) devido à falta de verificação da existência do objeto antes de realizar operações com ele. O problema está relacionado ao fato de que na função smb2_tree_disconnect() a memória alocada para a estrutura ksmbd_tree_connect foi liberada, mas ainda havia um ponteiro sendo utilizado na manipulação de determinadas solicitações externas que continham comandos SMB2_TREE_DISCONNECT.

Além da vulnerabilidade mencionada no ksmbd, foram corrigidos 4 problemas menos graves:

  • ZDI-22-1688 — execução remota de código com privilégios de núcleo devido à falta de verificação do tamanho real dos dados externos antes de copiá-los para o buffer alocado no código. A gravidade da vulnerabilidade é mitigada pelo fato de que o ataque só pode ser realizado por um usuário autenticado.
  • ZDI-22-1691 — vazamento remoto de informações da memória do núcleo devido à verificação incorreta dos parâmetros de entrada no manipulador do comando SMB2_WRITE (o ataque só pode ser realizado por um usuário autenticado).
  • ZDI-22-1687 — chamada remota de negação de serviço devido ao esgotamento da memória disponível no sistema, causado pela liberação inadequada de recursos no manipulador do comando SMB2_NEGOTIATE (o ataque pode ser realizado sem autenticação).
  • ZDI-22-1689 — chamada remota de falha do núcleo devido à falta de verificação adequada dos parâmetros do comando SMB2_TREE_CONNECT, resultando em leitura fora do buffer (o ataque só pode ser realizado por um usuário autenticado).

O suporte ao funcionamento do servidor SMB por meio do módulo ksmbd está incluído no pacote Samba, a partir da versão 4.16.0. Ao contrário do servidor SMB que opera no espaço do usuário, o ksmbd é mais eficiente em termos de desempenho, consumo de memória e integração com recursos avançados do núcleo. O ksmbd é apresentado como uma extensão de alto desempenho e pronta para uso em dispositivos embarcados, integrável com as ferramentas e bibliotecas do Samba, se necessário. Os autores do código ksmbd são Namjae Jeon da Samsung e Hyunchul Lee da LG, e a manutenção no núcleo é feita por Steve French da Microsoft, mantenedor do subsistema CIFS/SMB2/SMB3 no núcleo Linux e membro de longa data da equipe de desenvolvedores do Samba, que fez uma contribuição significativa para a implementação do suporte aos protocolos SMB/CIFS no Samba e Linux.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster