CVE-2020-0674
CVE-2020-0674 — это уязвимость use-after-free в устаревшем движке jscript. Её можно вызвать в Internet Explorer. Эксплойт здесь написан maxpl0it, но сама уязвимость была обнаружена Qihoo 360 при использовании в реальных атаках. Этот эксплойт просто запускает калькулятор (calc).
Описание эксплойта можно найти здесь.
Обзор уязвимости
- Уязвимость существует в функции сортировки массива
sort при использовании функции сравнения.
- Два переданных аргумента для функции сравнения не отслеживаются сборщиком мусора, и поэтому будут указывать на освобождённую память после вызова GC.
Примечания к эксплойту
- Эксплойт написан специально для Windows 7, но, вероятно, его можно портировать без особых проблем.
- Этот эксплойт написан для 64-битных версий IE, поэтому будет работать (и был протестирован) на следующих конфигурациях браузеров:
- IE 8 (x64 сборка)
- IE 9 (x64 сборка)
- IE 10 (либо с включённым расширенным защищённым режимом, либо с включённым TabProcGrowth)
- IE 11 (либо с включённым расширенным защищённым режимом, либо с включённым TabProcGrowth)
- Стоит отметить, что расширенный защищённый режим в Windows 7 просто включает 64-битную версию процесса браузера, так что это не обход песочницы, а скорее отсутствие дополнительной песочницы. По иронии судьбы, поскольку этот эксплойт предназначен для x64, EPM фактически позволяет ему работать.
- Эксплойт не предназначен для полного обхода EMET (реально реализован только обход обнаружения stack pivot), однако финальная версия (5.52), похоже, не запускает EAF+ при запуске эксплойта, в то время как 5.5 — да (по крайней мере, на Windows 7 x64). Таким образом, IE 11 в расширенном защищённом режиме с максимальными настройками EMET позволяет использовать эксплойт.
- Эксплойт снабжён множеством комментариев, но чтобы лучше понять, как он работает и что делает на каждом этапе, измените
var debug = false; на var debug = true; и либо откройте консоль разработчика для просмотра лога, либо оставьте её закрытой и смотрите всплывающие окна alert (что может быть немного раздражающим).