cr09philip / google-security-research

Automatically exported from code.google.com/p/google-security-research
0 stars 0 forks source link

OS X Kernel UaF in hypervisor driver #580

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
The hv_space lock group gets an extra ref dropped when you kill a process with 
an AppleHV userclient;
one via IOService::terminateWorker calling the AppleHVClient::free method 
(which calls lck_rw_free on the 
lock group using the pointer hanging off the global _hv variable) and secondly 
via the hypervisor
machine_thread_destroy callback (hv_callback_thread_destroy) which also calls 
lck_rw_free with a lock group
pointer taken from _hv.

tested on OS X 10.11 ElCapitan (15a284) on MacBookAir 5,2

Original issue reported on code.google.com by ianb...@google.com on 14 Oct 2015 at 3:42

Attachments:

GoogleCodeExporter commented 8 years ago

Original comment by ianb...@google.com on 14 Oct 2015 at 3:44

GoogleCodeExporter commented 8 years ago
Apple advisory: https://support.apple.com/en-gb/HT205637

Original comment by ianb...@google.com on 20 Dec 2015 at 8:45

GoogleCodeExporter commented 8 years ago

Original comment by ianb...@google.com on 27 Jan 2016 at 5:14