Cyber Risks · Google Project Zero

Defeating KASLR by Doing Nothing at All

Summary: Google Project Zero researcher Seth Jenkins found that the Linux kernel's linear mapping on arm64 is no longer randomized, so the physical-to-virtual calculation is static, and that Pixel bootloaders decompress the kernel at the same physical address (0x80010000) every boot. He reported both issues to the Linux kernel team and Google Pixel, and both were closed as intended behavior.

What you should know: On a Pixel 9, the modprobe_path string is always reachable at kernel virtual address 0xffffff8001ff2398 even with KASLR enabled, and a Samsung S23 test showed roughly 5 GB of attacker-controlled memory landing at predictable physical page frames across 100 reboots. An arbitrary write primitive that would normally need a KASLR leak can instead use a hardcoded base of 0xffffff8000010000.

Read the original at Google Project Zero ↗

Topics
Vulnerabilities & Patching
Related