Vulnerabilidade no subsistema iSCSI do kernel Linux, que permite a elevação de privilégios

Uma vulnerabilidade (CVE-2021-27365) foi identificada no código do subsistema iSCSI do kernel Linux, permitindo que um usuário local não privilegiado execute código em nível de kernel e obtenha privilégios de root no sistema. Um protótipo funcional de exploit está disponível para testes. A vulnerabilidade foi corrigida nas atualizações do kernel Linux 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.14.224, 4.9.260 e 4.4.260. As atualizações dos pacotes do kernel estão disponíveis nas distribuições Debian, Ubuntu, SUSE/openSUSE, Arch Linux e Fedora. Para o RHEL, as correções ainda não foram lançadas.

O problema foi causado por um erro na função iscsi_host_get_param() do módulo libiscsi, introduzido em 2006 durante o desenvolvimento do subsistema iSCSI. Devido à falta de verificações adequadas de tamanho, alguns atributos de string do iSCSI, como hostname ou username, podem exceder o valor de PAGE_SIZE (4 KB). A vulnerabilidade pode ser explorada por meio do envio de mensagens Netlink por um usuário não privilegiado, configurando atributos iSCSI com valores que excedem PAGE_SIZE. Ao ler dados desses atributos através de sysfs ou seqfs, o código chama uma função sprintf para copiar os atributos para um buffer cujo tamanho é igual a PAGE_SIZE.

A exploração da vulnerabilidade nas distribuições depende do suporte ao carregamento automático do módulo do kernel scsi_transport_iscsi ao tentar criar um socket NETLINK_ISCSI. Em distribuições onde esse módulo é carregado automaticamente, o ataque pode ser realizado independentemente do uso da funcionalidade iSCSI. No entanto, para que o exploit seja aplicado com sucesso, é necessário registrar pelo menos um transporte iSCSI. Por sua vez, para registrar o transporte, pode-se usar o módulo do kernel ib_iser, que é carregado automaticamente ao tentar criar um socket NETLINK_RDMA por um usuário não privilegiado.

O carregamento automático dos módulos necessários para a aplicação de exploits é suportado no CentOS 8, RHEL 8 e Fedora ao instalar o pacote rdma-core no sistema, que é uma dependência para alguns pacotes populares e, por padrão, é instalado em configurações para estações de trabalho, sistemas servidores com GUI e ambientes de virtualização. No entanto, o rdma-core não é instalado ao usar a versão do servidor que opera apenas em modo console, e na instalação da imagem de instalação mínima. Por exemplo, o pacote está incluído na edição básica do Fedora 31 Workstation, mas não está incluído no Fedora 31 Server. Debian e Ubuntu são menos suscetíveis ao problema, pois o pacote rdma-core carrega os módulos de kernel necessários para o ataque apenas se houver hardware RDMA.

Vulnerabilidade no subsistema iSCSI do kernel Linux, que permite a elevação de privilégios

Como uma solução alternativa de proteção, você pode proibir o carregamento automático do módulo libiscsi: echo "install libiscsi /bin/true" >> /etc/modprobe.d/disable-libiscsi.conf

Além disso, na subsistema iSCSI foram eliminadas mais duas vulnerabilidades menos perigosas que podem levar ao vazamento de dados do kernel: CVE-2021-27363 (vazamento de informações sobre o descritor de transporte iSCSI através do sysfs) e CVE-2021-27364 (leitura fora dos limites do buffer). Essas vulnerabilidades podem ser exploradas para interagir via socket netlink com a subsistema iSCSI sem as privilégios necessários. Por exemplo, um usuário não privilegiado pode se conectar ao iSCSI e enviar o comando "end a session" para encerrar a sessão.

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