
MEIZU 21 locked-bootloader runtime root via CVE-2026-43499 and KernelSU late-load
Runtime root for the MEIZU 21 with a locked bootloader, based on GhostLock / CVE-2026-43499.
This repository contains only the device-specific offsets, the prebuilt ARM64
payload, and scripts required to reproduce the setup. It does not contain
Flyme OTA packages, boot.img, vendor APKs, or proprietary firmware.
The offsets and payload are tied to this exact configuration:
Device: MEIZU 21 (meizu21 / M2461)
System: Flyme 12.6.0.0A
Android: 16
Fingerprint: meizu/meizu_21_CN/meizu21:16/BQ2A.251016.001-BP2A.250605.031.A3/1763702019:user/release-keys
Kernel: 6.1.25-android14-11-maybe-dirty
Security: 2025-12-05
Bootloader: locked
SELinux: Enforcing
Do not use these offsets on another kernel or Flyme build.
ksud late-load --kmi android14-6.1.It does not unlock the bootloader, flash a partition, or clear user data.
adb available../bootstrap.sh
The script checks the kernel release and refuses to run on a different build.
After bootstrap, use either KernelSU's standard su or the fallback command
queue:
./scripts/rootctl.sh 'id'
./scripts/rootctl.sh 'cat /sys/fs/selinux/enforce'
Direct KernelSU access:
adb shell su -c id
This is runtime root for a locked bootloader. A full reboot removes KernelSU
and returns SELinux to its normal enforcing state. Modules under
/data/adb/modules remain on the data partition, but KernelSU must be
late-loaded again with ./bootstrap.sh before they become active.
ksud soft-reboot can restart Android userspace without dropping the loaded
KernelSU module.
bootstrap.sh: end-to-end host-side automation.device/offsets.json: offsets derived from the matching official firmware.payloads/ghostlock-arm64: prebuilt ARM64 GhostLock payload.scripts/root-hook.sh: bootstrap hook executed as temporary root.scripts/root-worker.sh: detached command worker.scripts/rootctl.sh: send commands to the detached root worker.docs/technical-notes.md: extraction and validation details.The prebuilt payload was built from GhostLock commit
9ee07a8276220cdb4c3948b5feed8b1a3bfbf7f8 with the small dry-run patch in
patches/ghostlock-dry-run.patch.
b613923561fe37f7523b253c70dc120a22cbb9a14ee85c01f78047285fc90c25 payloads/ghostlock-arm64
f098dbfbfe6493b6f9dba6656f0147499d471283deb688a0b07d34816913d665 device/offsets.json
This is a kernel exploitation project. A failed race may reboot the device or cause temporary instability. Run it only on a device you own or are authorized to test. Keep backups before experimenting with KernelSU modules or system changes.