Во вторник, 20 мая, исследователи из Vupen опубликовали подробности об уязвимости CVE-2014-1512 в Mozilla Firefox, позволяющей осуществить атаку use-after-free. Отметим, что Mozilla исправила ее в версии браузера Firefox 28. Брешь CVE-2014-1512 была обнаружена экспертами из Vupen на ежегодных соревнованиях хакеров Pwn2Own, которые состоялись в марте 2014 года в рамках конференции CanSecWest. В общей сложности им удалось проэксплуатировать 11 уязвимостей нулевого дня в Mozilla Firefox, Internet Explorer 11, Google Chrome, Adobe Reader XI и Adobe Flash для Windows 8.1. Обо всех обнаруженных брешах они сразу же уведомили производителей. Исследователи отметили, что эксплуатировать данную уязвимость в Firefox было непросто, поскольку для того, чтобы получить доступ к уязвимому коду, память браузера должна пребывать в особом состоянии «memory-pressure». Атака базируется на ошибке в функции Pressure(), вызываемой после загрузки страницы. Эта функция в свою очередь вызывает функцию Spray(), которая выделяет память. Поскольку Pressure() является рекурсивной, Spray() может вызываться много раз. Таким образом через несколько секунд память браузера переполняется, и он оказывается в состоянии «memory-pressure», специально предусмотренном в целях защиты браузера от интенсивного использования памяти. При активизации «memory-pressure» создается объект. Впоследствии он удаляется, однако ссылка на него остается в памяти. Дальнейшее использование этого объекта в различных функциях Firefox приводит к аварийному завершению работы системы, которое может использоваться хакерами.