To si pletete s nedávnou chybou v iOS, kde aktualizace nekontrolovaly certifikáty. Tahle chyba funguje jinak. Aplikace B pošle zprávu System Serveru, který ji deserializuje. Přitom může podstrčit ukazatel na nativní funkci, kterou spustí finalizer, protože ten ukazatel zapomněl autor označit jako transient (tzn. přenese se při serializaci). To by normálně moc nevadilo, protože díky ASLR by ta aplikace nedokázala najít, kde se požadovaná funkce nachází, takže by to „jen“ shodilo System Server, ale ASLR kvůli implementaci Zygote na Androidu nefunguje. System Server pak tahle funkce může instruovat k přepsání APK aplikace A za APK s malwarem, včetně možného stažení z internetu (chyba v nastavení SELinuxu, neměl by mít možnost jej přepsat). Žádná aktualizace aplikace B k vyvolání té chyby není potřeba a ten malware vůbec nemusí být přibalen k aplikaci B a projít přes Google Play.