No resumo desta semana, discutiremos o seguinte:
- Vulnerabilidade do kernel do Linux NetFilter use-after-free
- Vulnerabilidades de XSS/CSRF/transversão de diretório do WordPress Core v6.2
- Vulnerabilidade do Linux OverlayFS
CVE-2023-32233: Vulnerabilidade do kernel do Linux NetFilter
Antecedentes
O NetFilter é uma estrutura para filtragem de pacotes e tradução de endereços de rede incorporada ao kernel do Linux para gerenciar o tráfego de rede. Ele é controlado por utilitários de espaço de usuário como iptables, UFW e nft. Tanto o iptables quanto o nftables são baseados no NetFilter, sendo o nftables a implementação mais moderna. Os administradores de sistema usam essas ferramentas para configurar regras de firewall local e monitorar o tráfego de rede.
Vulnerabilidade
A vulnerabilidade, rastreada como CVE-2023-32233, é uma vulnerabilidade use-after-free no módulo "nf_tables" do NetFilter. O "nf_tables" é ativado por padrão na maioria dos sistemas operacionais Linux. O "Nf_tables" aceita configurações inválidas, que se tornam problemáticas em alguns cenários quando uma operação em lote inválida é executada. Se a operação em lote inválida for criada de uma maneira específica, ela poderá levar a um estado interno corrompido no kernel do Linux. Isso acontece porque o módulo "nf_tables" não manipula corretamente os conjuntos anônimos (um tipo de conjunto sem nome ao qual o kernel atribui um identificador).
O estado corrompido pode ser explorado para realizar leituras e gravações arbitrárias da memória do espaço do kernel. Isso pode ser utilizado para aumentar os privilégios do usuário local. Todas as versões do kernel do Linux anteriores à versão 6.3.1 são vulneráveis a essa exploração.
Deve-se observar que um invasor precisa ter acesso a um sistema Linux estabelecido antes de tentar explorar essa vulnerabilidade. Além disso, ele deve ter permissões CAP_NET_ADMIN e a capacidade de manipular o NetFilter diretamente por meio do arquivo API.
O impacto dessa vulnerabilidade é alto, pois ela afeta um módulo ativado por padrão em muitos sistemas operacionais Linux. Além disso, uma prova de conceito foi lançada, o que aumenta a probabilidade de essa vulnerabilidade ser explorada na natureza.
Mitigação
- É altamente recomendável atualizar o kernel do Linux em seus sistemas para a versão 6.3.2 ou superior
- Desativar namespaces de usuários sem privilégios
Vulnerabilidades de XSS/CSRF/transversão de diretório do WordPress Core v6.2
Antecedentes
O WordPress é composto de várias partes: Núcleo, banco de dados, temas e plug-ins. O WordPress Core é a base do restante da plataforma WordPress e permite todas as funções administrativas e de gerenciamento.
Vulnerabilidades
O WordPress Core v6.2 tem várias vulnerabilidades que abordaremos.
CVE-2023-2745: travessia de diretório
Essa vulnerabilidade, rastreada como CVE-2023-2745, permite que um invasor realize a travessia de diretórios em um site WordPress por meio da exploração do parâmetro "wp_lang". Os invasores podem acessar e carregar arquivos de tradução de idiomas arbitrários. Além disso, se um invasor tiver acesso suficiente para carregar arquivos de tradução, essa vulnerabilidade também poderá ser utilizada para executar scripts entre sites.
CVE pendente: Falsificação de solicitação entre sites (CSRF)
Essa vulnerabilidade, que não tem um ID CVE até o momento da redação deste artigo, é causada pela falta de validação de nonce em uma função AJAX. A função AJAX, chamada "wp_ajax_set_attachment_thumbnail", pode ser usada indevidamente para permitir que usuários não autenticados atualizem arquivos associados a miniaturas de anexos. Isso só pode acontecer se um usuário autenticado executar uma ação, como clicar em um link.
O WordPress determinou que é improvável que essa vulnerabilidade seja explorada na natureza, devido a uma série complexa de eventos necessários para a exploração.
CVE pendente: XSS (Cross-Site Scripting)
Essa vulnerabilidade, que não tem um ID CVE no momento da redação deste artigo, é causada pela validação inadequada do protocolo ao processar a resposta da descoberta do oEmbed. oEmbded é um tipo de formato no WordPress que permite a renderização de URLs de sites de terceiros. Normalmente, isso é usado quando um usuário vincula outro site em um comentário, resultando em uma visualização do site vinculado. Os invasores que têm permissões de colaborador e superiores podem criar uma carga útil oEmbed mal-intencionada em um URL de terceiros que fará com que scripts arbitrários sejam executados quando um usuário acessar esse URL de terceiros.
OBSERVAÇÃO: o patch original para essas vulnerabilidades, versão 6.2.1, também corrigiu uma pequena vulnerabilidade com códigos curtos. A correção da vulnerabilidade do shortcode interrompeu a funcionalidade. Na versão 6.2.2, esse problema foi corrigido.
Mitigação
- É altamente recomendável atualizar o WordPress para a versão 6.2.2 ou superior.
CVE-2023-0386: Vulnerabilidade do OverlayFS
Antecedentes
SetUID é uma permissão de arquivo especial que permite que qualquer usuário com permissões de execução execute um binário como o usuário ou grupo proprietário do arquivo. Caso o bit SetUID seja definido em um binário de propriedade do root, qualquer usuário com permissões de execução poderá executar esse binário como root.
O OverlayFS é uma maneira de mesclar vários pontos de montagem em um sistema de arquivos Linux em um sistema de arquivos unificado. Ele consiste em várias camadas: inferior, superior e de sobreposição.
- A camada "inferior" contém os pontos de montagem de base para seus dados pré-existentes. Os dados podem ser acessados upstream na camada de sobreposição.
- A camada "superior" é definida como parte do sistema de arquivos de sobreposição. Todos os arquivos gravados na camada de sobreposição são copiados para a camada superior. Quando os arquivos são alterados na camada inferior, as alterações são propagadas para a camada de sobreposição e, em seguida, para a camada superior.
- A camada de "sobreposição" é a camada superior do sistema de arquivos. Ela é composta de arquivos das camadas superior e inferior. Todos os arquivos podem ser acessados a partir da camada de sobreposição.
Aqui está um diagrama simples que mostra como as alterações nos arquivos são propagadas pelo OverlayFS:
![OverlayFS - Diagrama simples](https://www.linode.com/wp-content/uploads/2023/05/Public-Security-Digest-OverlayFS-Simple-Diagram-416x297.png)
Vulnerabilidade
Essa vulnerabilidade é registrada como CVE-2023-0386, todas as versões do kernel do Linux anteriores à 6.2-rc6 são vulneráveis. Ao adicionar um arquivo a um sistema de arquivos OverlayFS, a camada de sobreposição não verifica corretamente a validade do usuário/grupo no namespace atual antes de copiá-lo para a camada superior. Um invasor pode adicionar um binário com o bit SUID definido em uma camada inferior e, em seguida, ter um binário copiado para a camada superior.
Um invasor pode criar um novo sistema de arquivos virtual e um namespace, gerar um binário SUID com propriedade como raiz e montá-lo em um sistema de arquivos OverlayFS. O sistema de arquivos OverlayFS não verificará se a propriedade do usuário/grupo é válida no namespace atual e copiará o binário com as permissões intactas. O invasor pode então executar o binário SUID a partir da camada superior e elevar seus privilégios.
Mitigação
- É altamente recomendável atualizar o kernel do Linux em seus sistemas para a versão mais recente.
- Desative os namespaces de usuários sem privilégios.
Comentários