Skip to content
macOS Kernel Exploit for CVE-2019-8781. Credit for the bug goes to @LinusHenze :).
C Assembly Makefile
Branch: master
Clone or download
Latest commit 0fd2cd9 Oct 15, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Makefile initial commit Sep 17, 2019
README.md Update README.md Oct 15, 2019
definitions.h initial commit Sep 17, 2019
exploit.c Update exploit.c Sep 22, 2019
gadgets.c initial commit Sep 17, 2019
gadgets.h initial commit Sep 17, 2019
kernel.s initial commit Sep 17, 2019

README.md

macOS-Kernel-Exploit

DISCLAIMER

You need to know the KASLR slide to use the exploit. Also SMAP needs to be disabled which means that it's not exploitable on Macs after 2015. These limitations make the exploit pretty much unusable for in-the-wild exploitation but still helpful for security researchers in a controlled lab environment.

This exploit is intended for security research purposes only.

General

macOS Kernel Exploit for CVE-2019-8781 (currently a 0day. I'll add the CVE# once it is published ;) ).

Thanks to @LinusHenze for this cool bug and his support ;P.

Writeup

Probably coming soon. If you want to try and exploit it yourself, here are a few things to get you started:

Build

I recommend setting the bootargs to: debug=0x44 kcsuffix=development -v

⚠️ Note: SMAP needs to be disabled on macs after 2015 (-pmap_smap_disable)

You will need XCODE <= 9.4.1 to build the exploit. (It needs to be 32bit) Downloading Xcode 9.4.1 Commandline Tools should be enough ;) Download: https://developer.apple.com/download/more/

make

Execution

./exploit <KASLR slide>

Tested on macOS Mojave: Darwin Kernel-Mac.local 18.7.0 Darwin Kernel Version 18.7.0: Thu Jun 20 18:42:21 PDT 2019; root:xnu-4903.270.47~4/DEVELOPMENT_X86_64 x86_64

Demo:

asciicast

You can’t perform that action at this time.