
Эксплойт для получения root-прав в ядре Linux 5.10, специфичный для устройства Sharp AQUOS R7 (CVE-2026-43499), предоставляющий временный UID 0 с SELinux в режиме permissive и демон su.
Порт GhostLock (CVE-2026-43499) для Linux 5.10 под конкретное устройство Sharp
AQUOS R7. Проверенная цель — AQUOS R7 (Mineva, SGA202SH/A202SH)
под управлением Android 14 сборки 03.00.06, ядро
5.10.218-android12-9-00041-g124993efd06e-ab12385094 (SM8450).
Это порт aquos-r6-ghostlock
(AQUOS R6, ядро 5.4.61-qgki). Каждая константа — обработка KASLR,
окно утечки selinux_state, смещения task/cred, нулевая scratch-область BSS —
была заново выведена и проверена на ядре R7; геометрия стека R6
служила лишь отправной точкой.
Успешный запуск даёт вам UID 0 с SELinux в режиме permissive и запускает
небольшой демон команды su. Он не предоставляет полный набор
возможностей Linux, и изменение не является постоянным: перезагрузка восстанавливает
исходное состояние ядра.
Требуется clang из Android NDK с целью aarch64-linux-android29 (протестировано
с NDK r30):
make build/ghostlock510 # ~3.4 MB static binary
make strip # optional; ~0.6 MB, same behaviour
Воспроизводимость: этот исходный код, собранный указанным выше инструментарием, побайтово идентичен
(MD5 fa896ebd361519766b46cc2bab70dea2) бинарнику, использовавшемуся во всех тестах на устройстве. Релизный артефакт — это форма именно того бинарника, обработанная llvm-strip
(598,672 байта, SHA-256 d3056b65380da9fda68bc1891a08c6028ee1cbdb39ff2c3ca136b703f1b0bef7).
Загрузите бинарник (релизный артефакт или свою собственную сборку) и запустите его один раз:
adb push ghostlock510 /data/local/tmp/ghostlock510
adb shell chmod 755 /data/local/tmp/ghostlock510
adb shell "setsid nohup /data/local/tmp/ghostlock510 \
--use-setattr --stamp3 --perm-pc --cred-swap --install-su \
--stamp-off 0xf0 --log /data/local/tmp/ghostlock510.log \
</dev/null >/dev/null 2>&1 &"
Используйте установленный клиент su для root-команд (требуется полный путь):
adb shell "/data/local/tmp/su -c 'id; getenforce'"
# uid=0(root) gid=2000(shell) groups=2000(shell) context=u:r:kernel:s0
# Permissive
su общается с демоном эксплойта через loopback TCP (порт 9999); постоянный
root-шелл не привязывается. Команды построчные, и вложение su
внутри su не работает. Интерактивные программы (vi, top, …) требуют PTY; интерактивный
режим su поверх демона оставлен на будущее.
Измерено на этой самой сборке (см. VERIFICATION.md):
Итак: перезагрузите устройство, запустите ghostlock510 один раз и не запускайте его снова, пока эта
сессия жива. Перезагрузка — это путь очистки.
Большие внешние входные данные намеренно не включены в этот репозиторий:
vmlinux/System.map
сборки ядра Android CI 12385094; побайтовая идентичность с ядром,
фактически работающим на устройстве, была проверена через его образ boot_a.--stamp3 / --use-setattr
был вдохновлён им (лицензия в том репозитории не указана).