Как сообщает Jann Horn в рассылке [Full Disclosure][1], в Android 5.0 включили патч, который исправляет уязвимость в объекте java.io.ObjectInputStream. До этого патча java.io.ObjectInputStream не проверял, является ли объект сериализируемым, перед его де-сериализацией. Атакующему достаточно создать экземпляр любого класса с конструктором без параметров и наполнить его поля случайными значениями. При срабатывании сборщика мусора, у этого экземпляра будет вызван метод finalize. В конечном итоге, если передать этот экземпляр в сервис system\_service через Intents с Bundles, произойдет перезапись указателя на адрес, подконтрольный злоумышленнику, и если ему удастся записать нужный payload на этот адрес, код атакующего выполнится с привилегиями system\_service. [Читать дальше →][2]
[1]:
http://seclists.org/fulldisclosure/2014/Nov/51
[2]:
http://habrahabr.ru/post/243663/#habracut