Эксперты по кибербезопасности из Cisco Talos нашли еще одну уязвимость в Adobe Acrobat Reader DC, которая позволяет хакеру удаленно выполнить произвольный код и получить контроль над компьютером пользователя. Ранее нашли еще три.
Суть уязвимости в версии версия Adobe Acrobat Reader 2018.011.20038 заключается в возможности выполнения специфичного JavaScript-кода, который злоумышленник внедрил в PDF-документ. Такое выполнение ведет к подмене типов объектов при открытии документа, то есть может быть открыт исполняемый файл.
Сообщается, что для того, чтобы зловредный код запустился, пользователю необходимо открыть сам PDF-документ — загрузив файл из Интернета, с почты, или открыв его через браузер. Так как Acrobat Reader поддерживает исполнение JavaScript-кода для организации интерактивного взаимодействия с пользователем, у хакера появляется возможность установить контроль над памятью приложения и получить к ней доступ.
Cisco Talos приводят пример фрагмента такого кода:
this.event = this.Collab.drivers[0];
this.InitializeFormsTrackerJS();
this.Collab.drivers[0].getWorkspaceCreator(null, this);
Вызов недокументированной функции InitializeFormsTrackerJS() можно использовать следующим образом — вызвать функцию getWorkspaceCreator() с заданными параметрами, что приведет к разыменованию указателя на объект this.Collab.drivers[0] и, в конечном итоге, к подмене контроля над ходом выполнения программы и возможности исполнения произвольного кода.
Эксперты, однако, отмечают, что для выполнения уязвимости требуются более высокие привилегии, то есть, они должны выполняться в PDF-файле, полученном из доверенного источника — а это уже ставит перед хакером более трудную задачу.
Ранее в 2018 году Cisco Talos уже обнаружили три аналогичных уязвимости в Adobe Acrobat Reader DC.