top of page
Foto do escritorAndré Barreto dos Santos

Nova vulnerabilidade no módulo KSMBD do Kernel Linux

Atualizado: 24 de abr. de 2024


Nessa semana uma notícia abalou o mundo da segurança cibernética, uma nova vulnerabilidade crítica no kernel do Linux, mais especificamente no módulo do kernel "KSMBD", que implementa o protocolo SMB3 a nível de kernel.

A exploração dessa vulnerabilidade pode permitir a execução de códigos arbitrários por um usuário não autenticado, motivo pelo qual a vulnerabilidade, quando identificada no dia 22/12/2022 como "zero day", recebeu um score 10 na escala de pontuação CVSS, o nível mais alto de criticidade (ZDI-22-1690). Essa nova vulnerabilidade já recebeu 6 CVEs no Mitre, são elas: CVE-2022-47938, CVE-2022-47939, CVE-2022-47940, CVE-2022-47941, CVE-2022-47942 and CVE-2022-47943.

Informações confusas, incompletas e com erros


Apesar de toda a criticidade do assunto, nós encontramos muitas informações confusas, fragmentadas, incompletas e inclusive com erros, em fóruns, artigos e publicações em redes sociais, levando muitas pessoas ou a um desespero desnecessário ou a uma falsa sensação de segurança.

Essas informações divergentes levaram inclusive a criação e divulgação de scripts que prometem analisar se o kernel está vulnerável mas, no entando, o que vimos por aí são, em sua grande maioria, scripts que testam apenas uma parte do ambiente, gerando falsos positvos ou, ainda pior, falsos negativos, piorando ainda mais a confusão sobre o assunto.

Outro ponto percebido foi o entendimento de que o simples fato de atualizar o kernel para uma versão acima da 5.15.x resolveria. No entanto, a vulnerabilidade está presente em muitas releases das versões superiores também, o que tem gerado mais confusão e falsos negativos na análise do ambiente.


Como testar o seu kernel

As versões vulneráveis do kernel são 5.15.x (menor que 5.15.61), 5.16.x , 5.17.x, 5.18.x, 5.19.x (menor que 5.19.2).

Para analisar se o seu kernel é potencialmente vulnerável, o primeiro passo é ver se a versão está entre as que contem a vulnerabilidade. Para isso pode-se usar o comando: "uname -r".


Caso o seu kernel esteja em alguma das versões vulneráveis, o próximo passo é verificar se existe o módulo KSMBD. Para isso pode-se usar o comando: "modinfo ksmbd".

Se tiver um retorno como o abaixo, então o módulo existe.


Caso o módulo exista é preciso, então, verificar se ele está carregado no kernel, afinal, se o módulo vulnerável não for carregado, aquele código com problema não será executado. Para isso pode-se usar o comando: "lsmod | grep ksmbd".


O que fazer se meu Kernel estiver vulnerável?


Uma boa parte das pessoas não vai passar daqui, mas, caso você esteja na minoria que recebeu um retorno como o abaixo, então dispare o alarme!


Nesse ponto você tem 2 opções viáveis:

1) Atualizar o kernel para uma versão contendo a correção para essa vulnerabilidade;

2) Remover o módulo do kernel e, com isso, parar todo e qualquer serviço que use ele, mais especificamente o compartilhamento de arquivos (share) via SMB. Para isso pode-se usar o comando: "modprobe -r ksmbd" usando "sudo" ou uma conta com privilégios de root.


Automatizando o teste da vulnerabilidade


Para facilitar a análise da vulnerabilidade em seu kernel, disponibilizamos um script próprio que pode ser usado para fazer o teste de vulnerabilidade do kernel ao módulo KSMBD.

Você também pode fazer download do script no botão abaixo:

Na linha de comando do seu Linux você pode executar a seguinte sequência de comandos:

$ chmod 700 check_ksmbd_kernel_vulnerability.sh

$ ./check_ksmbd_kernel_vulnerability.sh


Recomendações finais

Independentemente do seu Kernel estar vulnerável agora ou não, é recomendado mantê-lo atualizado com os patches de segurança, assim como todo o restante do seu sistema operacional GNU/Linux, afinal, ele é um sistema operacional que encontra-se em plena ascensão em empresas do mundo todo e, sendo cada vez mais usado, consequentemente, também será cada mais visado por criminosos cibernéticos.

510 visualizações0 comentário

Posts recentes

Ver tudo

Commentaires


Post: Blog2_Post
bottom of page