Позавчера компания Adobe выпустила массивный апдейт, закрывающий множество багов в Acrobat Reader и других своих продуктах. Однако, даже после апдейта в Acrobat Reader остались «десятки уязвимостей», говорят специалисты из Google. Двое исследователей безопасности Матеуш Юржик (Mateusz Jurczyk) и Джиндрим Колдвинд (GynDream Coldwind) осуществили фаззинг программы в рамках продвинутой инфраструктуры Google для фаззинга программного обеспечения.
Как известно, в процессе фаззинга на вход программы подаются случайные или некорректные данные, после чего анализируется реакция программы. Google использует для фаззинга Chrome тысячи серверов, на которых крутятся виртуальные машины с Chrome, плюс инфраструктуру для генерации случайных пакетов данных и анализа результатов. Таким образом, в автоматическом режиме удаётся найти десятки уязвимостей. Именно эту инфраструктуру Google задействовал для фаззинга Chrome PDF Reader, встроенного в браузер Chrome. Результаты оказались плачевными. Было обнаружено более 50 уязвимостей разной степени опасности, в том числе пять критичных уязвимостей: CVE-2012-2851 (132585, 132694, 132861), CVE-2012-2855 (134888), CVE-2012-2856 (134954, 135264), CVE-2012-2862 (136643, 137721, 137957) и CVE-2012-2863 (136968, 137361). Все они закрыты в последнем стабильном релизе Chrome.
Ужаснувшись количеству багов во встроенном PDF-ридере, разработчики Chrome решили провести фаззинг программы Adobe Reader 9.5.1 для GNU/Linux (последняя версия, доступная на тот момент). Для фаззинга задействовали 1500 процессорных ядер на несколько недель. Результатом стали 46 воспроизводимых сбоев с уникальными следами в стеке.
Изначальный набор файлов отправили в Adobe 21 июня, через несколько дней исследователи нашли метод для мутации генерируемого набора данных при фаззинге и запустили процедуру ещё раз, в результате чего обнаружилось ещё 14 уникальных багов. Их отправили в Adobe 27 июня. Таким образом, общее количество уязвимостей составило 60 штук.
Исследователи из Google также провели поверхностный анализ найденных уязвимостей и пришли к выводу, что 31 уязвимость (больше половины) представляет собой дыры, легко подходящие для эксплойта. Их обозначили как критические уязвимости. В том числе девять из них могут привести к удалённому исполнению кода.
14 августа Adobe выпустила новую версию Reader для Windows и Mac OS X, в которой закрыто около 25 из найденных уязвимостей. Проделать такую работу менее чем за два месяца — это очень похвально, считают исследователи из Google, отдавая должное коллегам из группы Adobe PSIRT.
К сожалению, 16 багов Adobe Reader для платформ Windows и OS X так и остались не закрытыми. Более того, серьёзной уязвимости подвергаются пользователи Linux, для которых так и не вышло обновление. По мнению специалистов из Google, злоумышленники могут сравнить побитно старую и новую версии Adobe Reader для Windows или OS X — и легко понять, где находится уязвимость.
Разработчики из Google собирались опубликовать информацию об уязвимостях по истечении стандартных 60 дней с момента уведомления вендора, то есть 27 августа 2012 года. Но, учитывая серьёзную опасность для пользователей и тот факт, что до 27 августа не запланировано никаких патчей со стороны Adobe, это решили сделать сейчас. В текстовом файле — следы в стеке, полученные в результате сбоя Adobe Reader, адреса частично обфусцированы.
В итоге, Reader для Linux имеет 60 незакрытых уязвимостей, Reader для Windows — шесть уязвимостей, Reader для OS X — десять.