Pular para o conteúdo principal
BlogSegurançaLinode Security Digest 21 - 28 de janeiro de 2023

Linode Security Digest 21 - 28 de janeiro de 2023

Linode Security Digest

Na digressão desta semana, discutiremos:

  • Como o Sudoedit pode editar arquivos arbitrários;
  • Conselhos de segurança Drupal e Git; e 
  • Uma vulnerabilidade de negação de serviço em HAProxy.

Sudoedit pode editar arquivos arbitrários

ID CVE: CVE-2023-22809

Sudo é um programa que permite a um administrador de sistema dar a usuários selecionados a capacidade de executar comandos como root. O Synacktiv descobriu esta vulnerabilidade. Uma questão de contornar a política de sudoers pode levar a uma escalada de privilégios usando o sudoedit para editar arquivos não autorizados. As versões afetadas do Sudo variam de 1.8.0 a 1.9.12p1.

Ao utilizar o sudoedit, os usuários selecionam seu usuário de edição usando variáveis de ambiente, tais como SUDO_EDITOR, VISUAL, e EDITOR. O conteúdo destas variáveis estende o comando real passado para a função sudo_edit(). A “" é suposto determinar a lista de arquivos a serem editados. No entanto, a injeção de um extra"." no ambiente autorizado variáveis podem alterar esta lista e levar a uma escalada de privilégios editando qualquer outro arquivo com os privilégios do usuário alvo.

Detecção

A vulnerabilidade pode ser detectada executando o seguinte comando como um usuário com o arquivo sendo concedido para edição, como /etc/custom/service.conf, listado no arquivo /etc/sudoers.

$ cat /etc/sudoers
user ALL=(ALL:ALL) sudoedit /etc/custom/service.conf
[...]

$ EDITOR='vim -- /etc/passwd' sudoedit /etc/custom/service.conf

Mitigação

Além de atualizar para a versão corrigida, também é possível mitigar a vulnerabilidade adicionando as variáveis ambientais afetadas à lista env_delete deny ao usar o sudoedit.

Defaults!SUDOEDIT            env_delete+="SUDO_EDITOR VISUAL EDITOR"
Cmnd_Alias SUDOEDIT = sudoedit /etc/custom/service.conf
user                                              ALL=(ALL:ALL) SUDOEDIT

Conselhos de segurança Drupal

Drupal liberou alertas de segurança para resolver vulnerabilidades que afetam vários produtos. Um atacante poderia explorar essas vulnerabilidades para acessar informações sensíveis. A CISA incentiva os usuários e administradores a reverem os seguintes alertas de segurança do Drupal e aplicarem as atualizações necessárias.

Drupal Core - Divulgação de informações

Código de conselheiros de segurança: SA-CORE-2023-001

Os usuários com acesso para editar conteúdo poderiam ver os metadados dos itens de mídia que não estão autorizados a acessar devido à verificação de acesso impróprio da entidade no módulo Media Library. A atenuação da vulnerabilidade é possível porque a mídia inacessível só é visível aos usuários que já podem editar o conteúdo, incluindo um campo de referência de mídia. 

Independentemente de Drupal antes de 9.4.x estar em fim de vida, é recomendado atualizar para as versões mais recentes, incluindo Drupal 10.0.2, Drupal 9.5.2, e Drupal 9.4.10.

Navegador da entidade - Divulgação de informações

Código de conselheiros de segurança: SA-CONTRIB-2023-002

Os usuários podem selecionar entidades dos campos de referência de entidades usando um widget de navegador de entidades personalizado do módulo Navegador de Entidades. Esta vulnerabilidade permite aos usuários com acesso para editar conteúdo ver os metadados das entidades às quais não estão autorizados a acessar, já que o módulo não verifica o acesso da entidade adequadamente. A vulnerabilidade pode ser mitigada pelo fato de que as entidades inacessíveis só serão visíveis aos usuários que já podem editar o conteúdo usando o Navegador de Entidades. Para corrigir a vulnerabilidade, se estiver usando o módulo Entity Browser para Drupal 9 ou 10, atualize o Entity Browser para a versão 8.x-2.9.

Bloco da Biblioteca de Mídia - Divulgação de informações

Código de conselheiros de segurança: SA-CONTRIB-2023-003

O módulo Bloco da Biblioteca de Mídia permite aos usuários renderizar entidades de mídia em um bloco. A verificação de acesso impróprio à mídia pelo módulo pode resultar em usuários vendo a mídia que não estão autorizados a acessar se um bloco contendo itens de mídia restritos estiver na página. Mitigação deste acesso não autorizado através da remoção de blocos referentes a itens de mídia com restrições de acesso. Se estiver usando o módulo Bloco da Biblioteca de Mídia para Drupal 9 ou 10, é recomendado atualizá-lo para a versão 1.0.4 para corrigir o problema.

Elemento API do formulário da biblioteca de mídia - Divulgação de informações

Código de conselheiros de segurança: SA-CONTRIB-2023-004

O módulo Media Library Form API Element permite que os usuários usem a biblioteca de mídia em formulários personalizados sem o widget da biblioteca de mídia. Devido à verificação inadequada do acesso à entidade pelo módulo, os usuários com acesso para editar o conteúdo podem ver os metadados dos itens de mídia que não estão autorizados a acessar. Atenue a vulnerabilidade tornando a mídia inacessível visível apenas para os usuários que já podem editar o conteúdo que inclui um campo de referência de mídia. Se o módulo Media Library Form API Element estiver nas versões 8.x-1.* ou 2.x para Drupal 9 ou 10, é recomendável atualizar o módulo para a versão 2.0.6.

Git conselhos de segurança

Uma auditoria de segurança do código fonte para Git revelou várias vulnerabilidades, incluindo duas de severidade crítica que poderiam permitir aos atacantes executar código arbitrário após explorar com sucesso as fraquezas do estouro de buffer baseado em pilha. Ambas as vulnerabilidades críticas são corrigidas nas versões Git v2.30.7, v2.31.6, v2.32.5, v2.33.6, v2.34.6, v2.35.6, v2.36.4, v2.37.5, v2.38.3, e v2.39.1.

Transbordamento de pilha em "arquivo Git", "log -format -git" que leva ao RCE

ID CVE: CVE-2022-41903

git log pode exibir os commits em um formato arbitrário com um -format specifier. git archive com o gitattributo de exportação-substância também tem esta funcionalidade. Quando os operadores de preenchimento são processados, uma variável de tamanho_t é indevidamente armazenada como um int na função pretty.c format_and_pad_commit(), ela é então adicionada como um offset a uma chamada memcpy() seguinte. Os atacantes podem iniciar o overflow executando git log -format=... para invocar a formatação de commit ou executando git archive com o atributo export-subst, que expande o especificador de formato para um arquivo. O estouro de número inteiro pode causar a execução de código remoto ao escrever código arbitrário na memória.

Soluções

É recomendado atualizar Git para a versão mais recente, o que corrige completamente a vulnerabilidade. Se a atualização não for aplicável, os usuários não devem executar o arquivo de Git em um repositório não confiável. Se o arquivo git for exposto através do daemon git, execute git config -global daemon.uploadArch false para desativar o comando.

gitattributes parsing integer overflow

ID CVE: CVE-2022-23521

Git permite aos usuários definir atributos para os caminhos adicionando um arquivo .gitattributes ao repositório, que contém um conjunto de padrões de arquivos e atributos que devem ser definidos para aqueles arquivos que correspondem ao padrão. Algumas condições podem fazer com que o excesso de números inteiros aconteça ao analisar os atributos:

  • quando há um número excessivo de padrões de caminho;
  • quando há inúmeros atributos para um único padrão;
  • quando os nomes dos atributos declarados são extensos.

Os transbordos podem ser acionados quando o arquivo .gitattributes feito faz parte do histórico de comprometimento. Linhas maiores que 2KB são divididas silenciosamente ao analisar gitatributos de um arquivo, mas não do índice. Como resultado, pode ocorrer falha quando o arquivo existe no índice, na árvore de trabalho, ou em ambos. A vulnerabilidade pode levar à leitura e escrita arbitrária da cabeça, resultando na execução remota do código.

Soluções

Não é publicado nenhum trabalho aplicável. A única alternativa é atualizar Git para a última versão corrigida listada.

Negação de vulnerabilidade de serviço em HAProxy

ID CVE: CVE-2023-0056

O HAProxy é um balanceador de carga de servidor de alta disponibilidade para aplicações HTTP. Esta vulnerabilidade existe devido à falha do manuseio inesperado da bandeira na função http_wait_for_response(), o que pode resultar no travamento do processo. Como resultado, a vulnerabilidade permite que um atacante execute um ataque de negação de serviço. 

A versão vulnerável do HAProxy varia de 2.0.0 a 2.7.0. Vulnerabilidades do patch nas versões 2.5.11, 2.6.8, e 2.7.2. Entretanto, as versões fixas para 2.0.x a 2.4.x ainda não foram lançadas.


Comentários

Deixe uma resposta

Seu endereço de e-mail não será publicado. Os campos obrigatórios estão marcados com *