Avançar para o conteúdo principal
BlogSegurançaLinode Security Digest 30 de Outubro - 6 de Novembro de 2022

Linode Security Digest 30 de Outubro - 6 de Novembro de 2022

Linode Security Digest

No resumo desta semana, iremos discutir:

  • um aviso de segurança OpenSSL versão 3.0.0;
  • uma vulnerabilidade de transbordamento de Sqlite; e
  • um ataque de repojacking GitHub.

Consultoria de Segurança Openssl

OpenSSL 3.0.0 abordou recentemente duas vulnerabilidades: CVE-2022-3602 e CVE-2022-3786. 

CVE-2022-3602, classificado como crítico (9,8/10), envolve um excesso de pilha de 4 bytes que pode levar a DoS ou Code Execution. Para uma exploração bem sucedida, o alvo precisa de efectuar a validação do certificado X509 de um certificado malicioso, especificamente a verificação da restrição do nome. Um atacante pode criar um endereço de correio electrónico malicioso para transbordar quatro bytes controlados pelo atacante na pilha. Dito isto, o ataque pode ser frustrado por protecções de overflow de pilha tipicamente activadas nos sistemas operacionais modernos. A vulnerabilidade foi inicialmente descrita como crítica pela OpenSSL, e uma análise mais aprofundada levou à degradação da gravidade para um nível elevado. Embora na altura em que foi escrito o Resultado Base seja 9,8 (crítico).  

CVE-2022-3786, classificado como alto (7,5/10), é outro transbordamento de tampão que é desencadeado por um certificado de tls malicioso. Semelhante à vulnerabilidade acima referida, o ataque implica um atacante que emite um certificado com um endereço de correio electrónico malicioso. A diferença reside nos caracteres que podem ser utilizados para causar um transbordamento, que se limita ao carácter `...' (decimal 46), o que leva à falha de serviço ou à Negação de Serviço. 

Os utilizadores que utilizam o OpenSSL 3.0 são encorajados a actualizar para a versão mais recente o mais rapidamente possível. Este post no blog pode ser útil para ajudar os utilizadores a determinar se têm a versão vulnerável da biblioteca em uso nos seus ambientes.  

Sqlite Array-bounds Overflow Vulnerabilidade

O TrailofBits revelou uma vulnerabilidade de alta diversidade numa popular biblioteca de SGBD Sqlite recentemente remendada O CVE atribuído a esta vulnerabilidade é CVE-2022-35737 e é classificado como 7,5/10.  

A vulnerabilidade é um array overflow no SQLite 1.0.12 até 3.39.x antes de 3.39.2 e afecta as aplicações que utilizam a biblioteca API do SQLite. A possibilidade de exploração depende da forma como o SQLite é compilado; se o programa for compilado sem os canários de pilha activados, é possível uma execução de código. A vulnerabilidade foi introduzida na versão 1.0.12, lançada em 17 de outubro de 2000. 

De acordo com a fonte, "Em sistemas vulneráveis, o CVE-2022-35737 é explorável quando se passam grandes entradas de string para as implementações SQLite das funções printf e quando a string de formato contém os tipos de substituição de formato %Q, %q, ou %w". Isto reduz a superfície de ataque e a probabilidade de uma aplicação ser realmente explorável através desta vulnerabilidade, embora ainda seja fortemente recomendado aos utilizadores que avaliem o risco dentro do contexto da sua utilização do componente.   

A versão patch SQLite v3.39.2 está disponível para os utilizadores actualizarem para nas suas aplicações. Os utilizadores dependentes de ferramentas que utilizam a biblioteca SQLite vulnerável teriam de esperar que a correcção fosse libertada pelos mantenedores do código. Trailofbits também lançou a exploração POC que pode ser encontrada no GitHub.  

Github Repojacking

A Checkmarx revelou mais um método para atacar a cadeia de abastecimento, visando os repositórios de código alojados no github.com. O ataque é apelidado de repojacking e envolve a aquisição de um repositório, contornando um controlo de segurança pré-existente estabelecido pela Microsoft para este tipo de ataque. Este controlo é denominado "popular-repository-namespace-retirement" e basicamente desativa os utilizadores do GitHub de criarem repositórios com um nome que corresponda ao anteriormente utilizado por um utilizador desactivado com o mesmo nome de utilizador se o repositório tivesse mais de 100 clones no espaçodeuma semana antes da mudança do nome de utilizador. Foi implementado como mitigação pelo GitHub após o checkmarx ter revelado uma vulnerabilidade semelhante em 2021. 

O novo ataque contorna a mitigação através do aproveitamento de uma funcionalidade github chamada transferência de repositório. Eis como o ataque é prosseguido:

  1. "vítima/repo" é um popular repositório GitHub reformado sob a protecção "popular repositório namespace retirement".
  2. "helper_account" cria o repositório "repo
  3. "helper_account" transfere a propriedade do repositório "repo" para "attacker_account".
  4. "attacker_account" renomeia o seu nome de utilizador para "vítima".
  5. A nova conta "vítima" (anteriormente "conta_atacante") aceita a transferência de propriedade e assume essencialmente o repositório alvo

A correcção para esta vulnerabilidade foi aplicada. Checkmarx também lançou uma ferramenta para verificar que dependências directas de golang poderiam ser vulneráveis a este tipo de ataque. 


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 *