Wednesday, October 1, 2014

More Mac OS X and iPhone sandbox escapes and kernel bugs

Posted by Ian Beer

A couple of weeks ago Apple released OS X 10.9.5 and iOS 8 which fixed a number of sandbox escapes and privilege escalation bugs found by Project Zero. All-bar-one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se bugs were found via manual source code auditing where cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re was source and binary analysis where cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re wasn’t. As always, click through cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bugs for proof-of-concept code and furcá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r details:

CVE-2014-4403* [ https://code.google.com/p/google-security-research/issues/detail?id=23 ] was as issue allowing a kernel ASLR bypass on OS X due to insufficient randomization of very early kernel heap allocations, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 addresses of which could be leaked using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 unprivileged SGDT instruction. This bug could be exploited from within any sandbox on OS X and allowed an attacker to determine cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 load address of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 kernel.

were all bounds-checking bugs in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 driver for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Intel integrated HD GPU present on all current-generation Macs. Eight of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se bugs allowed controlled kernel memory corruption from with most sandboxes on OS X (those with access to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GPU such as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Safari renderer process or cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Chrome GPU process.)

CVE-2014-4402* [ https://code.google.com/p/google-security-research/issues/detail?id=33 ] was anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r case of missing bounds checks, this time in anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r part of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 graphics acceleration pipeline.

CVE-2014-4376* [ https://code.google.com/p/google-security-research/issues/detail?id=31 ] was a kernel NULL-pointer dereference when setting up IOKit shared memory. This was exploitable from within some sandboxed 32-bit processes on OS X (for example cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Chrome GPU process.) As is true with all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se bugs this bug also allows any unsandboxed processes to execute code in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 kernel.

were bugs affecting OS X and iOS in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 implementation of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 IOKit IODataQueue class where cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 kernel trusted index and size fields in shared memory which was mapped into userspace and writable. Looking at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 release notes for iOS 8 cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se bugs seem to be very similar to one used in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 recent Pangu Team jailbreak which was released a few days after cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se bugs were reported to Apple.

were integer overflows in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bounds checking code of IODataQueue allowing kernel memory corruption on iOS and OS X.

was anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r shared memory queuing bug, this time in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bluetooth stack.

was an interesting kernel heap overflow when parsing a binary keyboard map which affected iOS and OS X and was reachable by setting an IOKit registry value. See cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 linked bug for more details along with a PoC demonstrating kernel instruction pointer control.

was anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r bug in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 keyboard mapping code affecting iOS and OS X allowing userspace to read arbitrary kernel memory.

was a kernel NULL pointer dereference due to incorrect error handling in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 key map parsing code, again see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 linked bug for a PoC demonstrating kernel instruction pointer control on OS X.

Finding and eliminating sandbox escapes is an important focus for Project Zero. The attack surface to break out of a sandbox is often smaller than cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack surface available to remote attackers to gain an initial foothold inside a sandbox. Therefore, strengcá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ning sandboxes represents a solid return on investment of time.

Our research seems to indicate that sandbox break-outs on OS X and iOS are an under-researched topic. We’d encourage ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs to join us in bringing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se sandboxes up to strength.

You can keep up-to-date with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 latest Project Zero research by subscribing to labels in our bug tracker: https://code.google.com/p/google-security-research/issues/subscriptions

(*) These bugs exceeded Project Zero’s standard 90-day disclosure deadline.
(+) These bugs were only fixed on iOS and remain unpatched on OS X.


No comments:

Post a Comment