IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apple Discussion :

Un chercheur découvre une faille permettant une élévation de privilèges dans OS X 10.10


Sujet :

Apple

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2013
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2013
    Messages : 8 452
    Points : 197 755
    Points
    197 755
    Par défaut Un chercheur découvre une faille permettant une élévation de privilèges dans OS X 10.10
    Un chercheur découvre une faille permettant une élévation de privilèges dans OS X 10.10
    et propose un correctif

    Stefan Esser, chercheur allemand pour le compte de l’entreprise d’audit de sécurité SektionEins, a révélé la présence d’une vulnérabilité permettant une élévation de privilèges dans OS X, qui affecte les dernières moutures, notamment Yosemite.

    La vulnérabilité est liée à la variable d’environnement DYLD_PRINT_TO_FILE qui est en rapport avec l’éditeur de liens dynamiques dydl. Le paramétrage de cette variable d’environnement indique à dydl où conserver les messages d’erreur.

    « Quand les garanties habituelles qui sont nécessaires lors de l’ajout d’un support pour de nouvelles variables d’environnement ont été ajoutées à cette variable, l’éditeur dynamique de lien n’a pas été utilisé. Par conséquent, il est possible d’utiliser cette fonctionnalité même avec des binaires SUID racine. C’est dangereux parce que cela permet d’ouvrir et de créer des fichiers arbitraires appartenant à l’utilisateur racine n’importe où dans le système de fichiers. En outre, le fichier de journalisation ouvert n’est jamais fermé et par conséquent son descripteur de fichier fait l’objet d’une fuite dans les processus engendrés par les binaires SUID. Ce qui signifie que les processus enfants des processus SUID racine peuvent écrire dans des fichiers arbitraires appartenant à l’utilisateur racine n’importe où dans le fichier système. Ce qui facilite une élévation des privilèges dans OS X 10.10.x ».

    « Quand Apple a changé le code de l’éditeur de liens dynamiques pour OS X 10.10 afin qu’il prenne en charge la nouvelle variable d’environnement DYLD_PRINT_TO_FILE, ils ont ajouté le code suivant directement dans la fonction _main de dydl. Comme vous pouvez le constater, la valeur de la variable d’environnement est directement utilisée comme nom de fichier pour le fichier de journalisation ouvert ou créé ».

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    const char* loggingPath = _simple_getenv(envp, "DYLD_PRINT_TO_FILE");
    if ( loggingPath != NULL ) {
            int fd = open(loggingPath, O_WRONLY | O_CREAT | O_APPEND, 0644);
            if ( fd != -1 ) {
                    sLogfile = fd;
                    sLogToFile = true;
            }
            else {
                    dyld::log("dyld: could not open DYLD_PRINT_TO_FILE='%s', errno=%d\n", loggingPath, errno);
            }
    }
    Il explique que normalement, pour des raisons de sécurité, l’éditeur de liens dynamiques devrait rejeter toutes les variables d’environnement qui lui sont transmises dans le cas où l’accès aux fichiers est restreint. Un processus automatiquement géré lorsque de nouvelles variables d’environnement sont ajoutées à la fonction processDyldEnvironmentVariable(). Curieusement, lorsqu’il s’agit de la variable d’environnement DYLD_PRINT_TO_FILE, elle se trouve directement ajoutée à la fonction _main de dydl.

    Il a remarqué qu’Apple a corrigé cette vulnérabilité dans la bêta d’OS X 10.11 en enlevant tout simplement le code de cette nouvelle variable d’environnement de la fonction processDyldEnvironmentVariable(), ce qui a pour conséquence de protéger cette mouture. « Ceci pourrait cependant être le résultat d’un épurement du code et non la résultante d’une action de sécurité. Toutefois, s’il s’agit là du résultat d’un correctif de sécurité, alors Apple a une fois de plus montré combien il ne supporte pas ses versions courantes dès lors qu’une nouvelle bêta est en développement ».

    Le chercheur en sécurité a publié une PoC (Proof of Concept) pour illustrer ses propos, donnant même une instruction à exécuter en ligne de commande pour tester si votre système est vulnérable à cette attaque.

    Que le constructeur d’iPhone soit au courant de la faille et prépare un correctif ou non, le chercheur a pris les devants et publié sur GitHub le code source d’une extension noyau qui implémente des mesures de protection sous le nom SUIDGuard.

    SUIDGuard (GitHub)

    Source : SektionEins
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre régulier
    Inscrit en
    Décembre 2007
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 59
    Points : 95
    Points
    95
    Par défaut
    Intéressant cette découverte, mais après il viendra encore se plaindre qu'on ne le laisse pas déjeuner en paix.

  3. #3
    Membre habitué

    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 90
    Points : 154
    Points
    154
    Par défaut
    Combien de temps mettra t - il avant d'en découvrir une nouvelle ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. FREAK : une faille permettant d’espionner les connexions chiffrées
    Par Hinault Romaric dans le forum Actualités
    Réponses: 9
    Dernier message: 20/03/2015, 10h05
  3. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  4. Réponses: 10
    Dernier message: 10/09/2013, 09h20
  5. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo