Earlier quoted context omitted.
I don't understand what you're implying. This is a 0day that could be exploited from any number of outside channels.
I can't reply to your post lower in the thread, but saying a java applet and flash app can exploit this? It's a C program that requires a local account on the box. You would need to break out of the java sandbox into local unprivileged shell access before you could exploit this via java. Same with flash - you would need a flash exploit that breaks you out of the sandbox before you can exploit this. In other words, yo…
OS X 10.10.5 kernel local privilege escalation
81–90 of 143 posts
Re: OS X 10.10.5 kernel local privilege escalation
#82Earlier quoted context omitted.
I did the same, didn't get the root shell but instead got a standard OS X kernel panic screen and system reboot twice before it came back to life. And wtf @qwertyoruiop this is how you "responsibly" release zero day?! I just upgraded to 10.10.5 yesterday!
You have quotes around "responsibly", is that a quote from somewhere in this disclosure? You're welcome to point out that you prefer that vulns be disclosed to vendors before public release, but to chastise someone for not subscribing to your preferred methodology seems a bit off base
No - chastising someone for performing an act you consider to be harmful to the public is totally legitimate.
Re: OS X 10.10.5 kernel local privilege escalation
#83Earlier quoted context omitted.
'sudo nvram boot-args=-no_shared_cr3' will do the trick. The flag essentially prevents kernel from accessing userland memory unless special routines are used. Since the bug is a NULL pointer deference (which requires a read to userland memory in order to be exploited), exploitation becomes impossible. Due to this flag, however, your kernel will have to context switch every time a system call is done, which does have…
Intriguing. Thanks for sharing. Doesn't Linux perform this "context switch at every syscall" ? How does it get away with the performance penalty?
Non-shared-cr3 Macs (and IIRC some versions of PaX) also change `%cr3`, which means user-space and kernel-space have completely different address spaces (rather than a shared kernel-space and per-process user-space). This is much more expensive.
Re: OS X 10.10.5 kernel local privilege escalation
#84$ git clone https://github.com/kpwn/tpwn.git Cloning into 'tpwn'... remote: Counting objects: 16, done. remote: Compressing objects: 100% (11/11), done. remote: Total 16 (delta 3), reused 16 (delta 3), pack-reused 0 Unpacking objects: 100% (16/16), done. Checking connectivity... done. $ cd tpwn $ make gcc *.m -o tpwn -framework IOKit -framework Foundation -m32 -Wl,-pagezero_size,0 -O3 strip tpwn $ ./tpwn leaked kaslr…
Phew, didn't work for me out of the box: $ make gcc *.m -o tpwn -framework IOKit -framework Foundation -m32 -Wl,-pagezero_size,0 -O3 In file included from /usr/include/dispatch/dispatch.h:51:0, from /System/Library/Frameworks/IOKit.framework/Headers/IOKitLib.h:56, from import.h:13, from lsym.h:5, from lsym.m:1: /usr/include/dispatch/object.h:143:15: error: expected identifier or '(' before '^' token typedef void (^di…
Re: OS X 10.10.5 kernel local privilege escalation
#85Earlier quoted context omitted.
Phew, didn't work for me out of the box: $ make gcc *.m -o tpwn -framework IOKit -framework Foundation -m32 -Wl,-pagezero_size,0 -O3 In file included from /usr/include/dispatch/dispatch.h:51:0, from /System/Library/Frameworks/IOKit.framework/Headers/IOKitLib.h:56, from import.h:13, from lsym.h:5, from lsym.m:1: /usr/include/dispatch/object.h:143:15: error: expected identifier or '(' before '^' token typedef void (^di…
Just to clearify: that's just means you couldn't compile it. It doesn't imply your system is/isn't vulnerable.
Re: OS X 10.10.5 kernel local privilege escalation
#86So we currently have 2 local privilege escalation exploits [1] available for Mac OSX. Apple appears to be in no rush to fix the first one, I wouldn't bet my money on this vulnerability getting a fix any time soon, either ... [1] http://bit.ly/1MrsdID
But start the mac hate train regardless - if facts don't count :)
Re: OS X 10.10.5 kernel local privilege escalation
#87So we currently have 2 local privilege escalation exploits [1] available for Mac OSX. Apple appears to be in no rush to fix the first one, I wouldn't bet my money on this vulnerability getting a fix any time soon, either ... [1] http://bit.ly/1MrsdID
It's encouraging that of these two major bugs, both didn't work in El Capitan. Not claiming that it's going to be some sort of panacea; I'm sure it's just a matter of time before it gets exploited too. But it's still encouraging.
Re: OS X 10.10.5 kernel local privilege escalation
#88Earlier quoted context omitted.
Just to clearify: that's just means you couldn't compile it. It doesn't imply your system is/isn't vulnerable.
Sure, but its somehow satisfying to know that its broken for those who don't make the effort to fix it. ;) (It happened to me because I'm using a different compiler than the exploit needs..)
Re: OS X 10.10.5 kernel local privilege escalation
#89Earlier quoted context omitted.
Sure, but its somehow satisfying to know that its broken for those who don't make the effort to fix it. ;) (It happened to me because I'm using a different compiler than the exploit needs..)
Malware comes precompiled and ready to run, it doesn't depend on you having a compiler installed.
Re: OS X 10.10.5 kernel local privilege escalation
#90Earlier quoted context omitted.
Could you provide some context for that? What does that flag do? How do you even set boot args for OSX? I have little context to OSX boot process, and would like to understand this better.
I did `sudo nvram boot-args="-no_shared_cr3"`, and I think I see the (seemingly minor, at this point) performance hit. There's an explanatory comment in http://opensource.apple.com/source/xnu/xnu-2782.1.97/osfmk/x... that seems to explain the feature, though not in detail.