В общем, краткий отчёт по попытке прогнать эксплоит CVE-2022-38181 на девайсе с Mali GPU - ничего не заработало, что и не мудрено, достаточно заглянуть код чтобы понять почему)
К сожалению, как часто и бывает в подобного рода эксплоитах, вся эксплуатация и постэксплуатация основана на точных значениях смещений к расположению в памяти ядра определённых функций и данных, которые в этом коде высчитаны только для pixel 6 и только для определённых билдов. Плюс ко всему, расчёты сделаны только для ядра под 64 битную архитектуру, а в моём устройстве довольно старая башка на armeabi-v7a.
В целом после получения возможности писать в память дальше работает уже классический подход - переписывается состояние selinux и выключаются ограничения на некоторые изначально заблокированные системные вызовы, потом для процесса переписываются значения кредов в нули, потом тригерится создание дочернего процесса, который в свою очередь наследует "типа родительский" uid=0. И дальше им уже можно пользоваться как шеллом.
Тем не менее, выглядит всё очень интересно и круто. Я вообще ни разу не спец в написании бинарных эксплоитов, технике поиска нужных смещений и т.д. но уверен что если заморочиться с этим и приготовить эксплоит именно под мою конкретную сборку системы, то всё поидее должно отработать