CVE-2020-0674
CVE-2020-0674 è una vulnerabilità use-after-free nel motore jscript legacy. Può essere attivata in Internet Explorer. L'exploit qui è scritto da maxpl0it ma la vulnerabilità stessa è stata scoperta da Qihoo 360 mentre veniva sfruttata in natura. Questo exploit apre semplicemente calc.
Il writeup dell'exploit può essere trovato qui.
Panoramica della vulnerabilità
- La vulnerabilità esiste nella funzione
sort dell'Array quando si usa una funzione di confronto.
- I due argomenti forniti alla funzione di confronto non sono tracciati dal Garbage Collector e quindi punteranno a memoria liberata dopo che il GC viene chiamato.
Note sull'exploit
- L'exploit è stato scritto specificamente per Windows 7, ma potrebbe probabilmente essere portato senza troppa difficoltà.
- Questo exploit è stato scritto per istanze x64 di IE, quindi funzionerà (ed è stato testato) sulle seguenti configurazioni del browser:
- IE 8 (build x64)
- IE 9 (build x64)
- IE 10 (con Enhanced Protected Mode abilitata o TabProcGrowth abilitato)
- IE 11 (con Enhanced Protected Mode abilitata o TabProcGrowth abilitato)
- Vale la pena notare che Enhanced Protected Mode su Windows 7 abilita semplicemente la versione x64 del processo del browser, quindi non è tanto un sandbox escape quanto l'assenza di ulteriori sandbox. Ironia della sorte, poiché questo exploit è per x64, EPM in realtà ne consente il funzionamento.
- L'exploit non è fatto per bypassare interamente EMET (è stato implementato solo un bypass del rilevamento dello stack pivot), tuttavia la versione finale (5.52) non sembra attivare EAF+ quando l'exploit viene eseguito, mentre la 5.5 lo fa (almeno su Windows 7 x64). Quindi IE 11 in Enhanced Protected Mode con le impostazioni EMET massime abilitate consente l'exploit.
- L'exploit è pesantemente commentato, ma per comprendere meglio come funziona e cosa fa in ogni fase, cambia
var debug = false; in var debug = true; e apri la console sviluppatore per vedere il log oppure tienila chiusa e visualizza i popup alert (che possono essere un po' fastidiosi).