Эксперты французского IT-агентства Vupen обнародовали отчет об обнаруженной в Firefox уязвимости, позволяющей провести кибератаку типа use-after-free. Кстати, сама Mozilla смогла исправить ее только в 28 релизе Firefox.
Эксперты Vupen обнаружили баг на соревновании «белых» хакеров Pwn2Own, проведенном в нынешнем марте по ходу IT-конференции CanSecWest. Всего тогда эксперты смогли выявить 11 «нулевых» багов Firefox, IE 11, Chrome, а также решений Adobe (Flash и Reader XI) для восьмой Windows. После соревнований обо всех найденных уязвимостях участники соревнования немедленно проинформировали производителей.
Правда эксперты отметили, что использовать найденную ими брешь Firefox в действительности непросто, потому что для получения доступа к проблемному коду необходимо перевести память обозревателя в состояние «memory-pressure». А для этого необходимо обладать неплохой квалификацией: изучить один учебник html для начинающих будет явно недостаточно.
Само нападение основано на баге в опции Pressure(), активируемой при загрузке страницы. Затем Pressure() активирует выделяющую память функцию Spray(). Так как Pressure() представляет собой рекурсивную функцию, то Spray() можно вызывать неоднократно, чтобы память браузера буквально за несколько секунд переполнилась и сам обозреватель переходил на работу в режиме «memory-pressure», предусмотренном для защиты обозревателя от чрезмерной нагрузки памяти.
Однако при режиме «memory-pressure» в памяти браузера создается объект, который впоследствии хотя и удаляется, но его ссылка сохраняется в памяти. Впоследствии эксплуатация данного объекта в разных опциях Firefox вызывает аварийное завершение работы обозревателя, которое и используется злоумышленниками.