Avançar para o conteúdo principal
BlogueSegurançaLinode Security Digest 22 de maio a 29 de maio de 2023

Linode Security Digest 22 de maio a 29 de maio de 2023

Linode Security Digest

No resumo desta semana, discutiremos o seguinte:

  • Vulnerabilidade do kernel Linux NetFilter use-after-free
  • WordPress Core v6.2 Vulnerabilidades XSS/CSRF/Travessia de diretório
  • 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 no kernel do Linux para gerir o tráfego de rede. É controlado por utilitários de espaço de utilizador como o 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 sistemas utilizam estas ferramentas para configurar regras de firewall locais e monitorizar o tráfego de rede. 

Vulnerabilidade

A vulnerabilidade, registada como CVE-2023-32233, é uma vulnerabilidade use-after-free no módulo "nf_tables" do NetFilter. O "nf_tables" está activado por defeito na maioria dos sistemas operativos Linux. O "nf_tables" aceita configurações inválidas, que se tornam problemáticas em alguns cenários quando é efectuada uma operação em lote inválida. Se a operação em lote inválida for criada de uma maneira específica, ela pode levar a um estado interno corrompido dentro do kernel do Linux. Isto acontece porque o módulo "nf_tables" não lida correctamente com conjuntos anónimos (um tipo de conjunto sem um nome ao qual é atribuído um identificador pelo kernel). 

O estado corrompido pode ser explorado para realizar leituras e gravações arbitrárias da memória do espaço do kernel. Isto pode ser utilizado para aumentar os privilégios do utilizador local. Todas as versões do kernel Linux anteriores à versão 6.3.1 são vulneráveis a esta exploração.

É de notar que um atacante precisa de ter acesso a um sistema Linux estabelecido antes de tentar explorar esta vulnerabilidade. Além disso, tem de ter permissões CAP_NET_ADMIN e a capacidade de manipular o NetFilter directamente através do site de terceiros API.

O impacto desta vulnerabilidade é elevado, uma vez que afecta um módulo activado por defeito em muitos sistemas operativos Linux. Para além disso, foi lançada uma prova de conceito, o que aumenta a probabilidade de esta vulnerabilidade ser explorada na natureza.

Mitigação

  • Recomenda-se vivamente a actualização do kernel Linux nos seus sistemas para a versão 6.3.2 ou superior
  • Desactivar espaços de nomes de utilizadores não privilegiados
WordPress Core v6.2 Vulnerabilidades XSS/CSRF/Travessia de diretório

Antecedentes

O WordPress é composto por várias partes: Núcleo, Base de dados, Temas e Plugins. O núcleo do WordPress é a base do resto da plataforma WordPress e permite todas as funções administrativas e de gestão. 

Vulnerabilidades

O WordPress Core v6.2 tem várias vulnerabilidades que iremos abordar.

CVE-2023-2745: travessia de diretório

Esta vulnerabilidade, registada como CVE-2023-2745, permite a um atacante efectuar a travessia de directórios num sítio WordPress através da exploração do parâmetro "wp_lang". Os atacantes podem aceder e carregar ficheiros de tradução de idiomas arbitrários. Além disso, se um atacante tiver acesso suficiente para carregar ficheiros de tradução, esta vulnerabilidade também pode ser utilizada para executar Cross-Site Scripting.

CVE pendente: Falsificação de pedidos entre sites (CSRF)

Esta vulnerabilidade, que não tem um ID CVE no momento em que foi escrita, é causada pela falta de validação nonce numa função AJAX. A função AJAX, denominada "wp_ajax_set_attachment_thumbnail", pode ser utilizada abusivamente para permitir que utilizadores não autenticados actualizem ficheiros associados a miniaturas de anexos. Isto só pode acontecer se um utilizador autenticado executar uma acção, como clicar numa ligação.

O WordPress determinou que é improvável que esta 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)

Esta vulnerabilidade, que não tem um ID CVE no momento da redacção deste documento, é causada por uma validação incorrecta do protocolo ao processar a resposta da descoberta oEmbed. oEmbded é um tipo de formato no WordPress que permite a apresentação de URLs de sites de terceiros. Normalmente, isto é utilizado quando um utilizador liga outro site num comentário, resultando numa pré-visualização do site ligado. Os atacantes que têm permissões de contribuidor e superiores podem criar um payload oEmbed malicioso num URL de terceiros que fará com que scripts arbitrários sejam executados quando um utilizador acede a esse URL de terceiros. 

NOTA: A correcção original para estas vulnerabilidades, versão 6.2.1, também corrigiu uma pequena vulnerabilidade nos códigos curtos. A correcção da vulnerabilidade do shortcode quebrou a funcionalidade. Na versão 6.2.2, este problema foi corrigido. 

Mitigação

  • É altamente recomendável actualizar o WordPress para a versão 6.2.2 ou superior.
CVE-2023-0386: Vulnerabilidade do OverlayFS

Antecedentes

SetUID é uma permissão especial de ficheiro que permite a qualquer utilizador com permissões de execução executar um binário como o utilizador ou grupo que possui o ficheiro. No caso em que o bit SetUID é definido num binário pertencente ao root, qualquer utilizador com permissões de execução pode executar esse binário como root.

OverlayFS é uma forma de fundir vários pontos de montagem num sistema de ficheiros Linux, num sistema de ficheiros unificado. Ele consiste em várias camadas: inferior, superior e sobreposição. 

  • A camada "inferior" contém os pontos de montagem de base para os seus dados pré-existentes. Os dados são acessíveis a montante na camada de sobreposição.
  • A camada "superior" é definida como parte do sistema de ficheiros de sobreposição. Todos os ficheiros escritos na camada de sobreposição são copiados para a camada superior. Quando os ficheiros 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 "overlay" é a camada superior do sistema de ficheiros. É composta por ficheiros das camadas superior e inferior. Todos os ficheiros podem ser acedidos a partir da camada de sobreposição.

Aqui está um diagrama simples que mostra como as alterações de arquivos são propagadas pelo OverlayFS:

OverlayFS - Diagrama simples

Vulnerabilidade

Esta vulnerabilidade é registada como CVE-2023-0386, todas as versões do kernel Linux anteriores à 6.2-rc6 são vulneráveis. Ao adicionar um ficheiro a um sistema de ficheiros OverlayFS, a camada de sobreposição não verifica correctamente a validade do utilizador/grupo no espaço de nomes actual antes de o copiar para a camada superior. Um atacante pode adicionar um binário com o bit SUID definido para uma camada inferior e, em seguida, ter um binário copiado para a camada superior.

Um atacante pode criar um novo sistema de arquivos virtual e namespace, gerar um binário SUID com propriedade como root, e então montá-lo em um sistema de arquivos OverlayFS. O sistema de ficheiros OverlayFS não verifica se a propriedade do utilizador/grupo é válida no espaço de nomes actual e copia o binário com as permissões intactas. O atacante pode então executar o binário SUID a partir da camada superior e elevar os seus privilégios.

Mitigação

  • É altamente recomendável actualizar o kernel Linux nos seus sistemas para a versão mais recente.
  • Desactivar os espaços de nomes de utilizadores sem privilégios.

Comentários

Deixe uma resposta

O seu endereço de correio electrónico não será publicado. Os campos obrigatórios estão marcados com *