- PVSM.RU - https://www.pvsm.ru -

Уязвимость в Android < 5.0 (ObjectInputStream)

Как сообщает Jann Horn в рассылке Full Disclosure [1], в Android 5.0 включили патч, который исправляет уязвимость в объекте java.io.ObjectInputStream. До этого патча java.io.ObjectInputStream не проверял, является ли объект сериализируемым, перед его де-сериализацией.

Атакующему достаточно создать экземпляр любого класса с конструктором без параметров и наполнить его поля случайными значениями. При срабатывании сборщика мусора, у этого экземпляра будет вызван метод finalize. В конечном итоге, если передать этот экземпляр в сервис system_service через Intents с Bundles, произойдет перезапись указателя на адрес, подконтрольный злоумышленнику, и если ему удастся записать нужный payload на этот адрес, код атакующего выполнится с привилегиями system_service.

Хоть в Android и есть ASLR, из-за того, что все процессы запускаются путем форка от zygote, они все имеют примерно одинаковый memory map, так что его можно обойти.

Автор также написал PoC и опубликовал его в рассылке.
Об уязвимости было сообщено 22.06.2014 и ей присвоен номер CVE-2014-7911.

Автор: ValdikSS

Источник [2]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/vulnerability/74956

Ссылки в тексте:

[1] Full Disclosure: http://seclists.org/fulldisclosure/2014/Nov/51

[2] Источник: http://habrahabr.ru/post/243663/