|
|
OS X IOKit kernel code execution due to lack of bounds checking in IGAccelVideoContextMain::process_token_AllPostProcGVA | |||
| Project Member Reported by ianbeer@google.com, Apr 16 2015 | Back to list | |||
The function IGAccelVideoContextMain::process_token_AllPostProcGVA trusts the dword at offset 0x10 in the input token and uses it as the index for a kernel memory write. (It adds it to a valid pointer which gets passed into patch_vphal_dndi_curbe where the write actually happens.) This PoC looks for a MediaKernel token and moves a few things around to trigger the vuln in the AllPostProcGVA code. tested on: MacBookAir5,2 w/ 10.10.3 (14D131) build: clang -Wall -dynamiclib -o ig_GVA.dylib ig_GVA.c -framework IOKit -arch i386 -arch x86_64 run: DYLD_INSERT_LIBRARIES=./ig_GVA.dylib /Applications/QuickTime\ Player.app/Contents/MacOS/QuickTime\ Player go File -> New Movie Recording and press the red record button Reachable from sandboxes which can talk the the GPU.
Project Member
Comment 1
by
ianbeer@google.com,
Apr 16 2015
,
Apr 17 2015
,
Jul 20 2015
,
Jul 31 2015
|
||||
| ► Sign in to add a comment | ||||