CVE-2020-0674
CVE-2020-0674 é uma vulnerabilidade de use-after-free no mecanismo jscript legado. Pode ser acionada no Internet Explorer. O exploit aqui foi escrito por maxpl0it, mas a vulnerabilidade em si foi descoberta pela Qihoo 360 sendo usada na natureza. Este exploit simplesmente abre a calculadora.
A descrição do exploit pode ser encontrada aqui.
Visão Geral da Vulnerabilidade
- A vulnerabilidade existe na função
sort do Array ao usar uma função de comparação.
- Os dois argumentos fornecidos para a função de comparação não são rastreados pelo Garbage Collector e, portanto, apontarão para memória liberada após a chamada do GC.
Notas do Exploit
- O exploit foi escrito especificamente para Windows 7, mas provavelmente pode ser portado sem muita dificuldade.
- Este exploit foi escrito para instâncias x64 do IE, portanto será executado (e foi testado) nas seguintes configurações de navegador:
- IE 8 (x64 build)
- IE 9 (x64 build)
- IE 10 (Com Enhanced Protected Mode ativado ou TabProcGrowth ativado)
- IE 11 (Com Enhanced Protected Mode ativado ou TabProcGrowth ativado)
- Vale notar que o Enhanced Protected Mode no Windows 7 simplesmente ativa a versão x64 do processo do navegador, então não é uma fuga da sandbox tanto quanto a inexistência de uma sandbox adicional. Ironicamente, como este exploit é para x64, o EPM na verdade permite que ele funcione.
- O exploit não foi feito para contornar completamente o EMET (Apenas um bypass de detecção de stack pivot foi implementado), no entanto a versão final (5.52) parece não acionar o EAF+ quando o exploit é executado, ao contrário da versão 5.5 (pelo menos no Windows 7 x64). Portanto, o IE 11 no Enhanced Protected Mode com configurações máximas do EMET ativadas permite o exploit.
- O exploit é fortemente comentado, mas para entender melhor como o exploit funciona e o que ele está fazendo em cada etapa, altere
var debug = false; para var debug = true; e abra o console do desenvolvedor para visualizar o log ou mantenha-o fechado e veja os popups alert (o que pode ser um pouco irritante).