Réalisation d’une preuve de concept pour la vulnérabilité CVE-2017-5123

Magazine
Marque
MISC
Numéro
96
Mois de parution
mars 2018
Domaines


Résumé

Début octobre 2017, une vulnérabilité a été découverte par Chris Salls dans l’implémentation de l’appel système waitid [1] au sein du noyau GNU/Linux, permettant notamment d’écrire des données dans l’espace mémoire réservé au noyau. Cet article tente de retracer de façon détaillée l’étude de la cause de celle-ci ainsi que les différents obstacles rencontrés lors de son exploitation.


 

1. Premier coup d’œil

1.1 Détails de la vulnérabilité

Un coup d’œil sur le correctif [PATCH] permet de voir que la vulnérabilité est présente au sein du syscallwaitid. Pour rappel, celui-ci permet de mettre une tâche en attente de la complétion d’une autre. Le message de commit est assez sommaire (waitid(): Add missing access_ok() checks) et la modification apportéene fait que deux lignes :

+ if (!access_ok(VERIFY_WRITE, infop, sizeof(*infop)))

+ goto Efault;

Après une rapide lecture de la documentation sur access_ok, on découvre que cet appel de fonction permet de s’assurer de l’innocuité de l’accès pour une taille donnée à une adresse passée en argument. Par innocuité et dans notre cas d’une architecture x86, on entend ici deux choses :

  • cette adresse pointe vers l’espace utilisateur ; ne pas oublier que nous sommes en train de traiter un appel système et que nous sommes donc en espace noyau en train...
Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Zerologon pour les (mots de passe) nuls

Magazine
Marque
MISC
Numéro
113
Mois de parution
janvier 2021
Domaines
Résumé

ZeroLogon est LA vulnérabilité de septembre 2020 qui expose de nombreux domaines Windows à une compromission totale via un scénario d’exploitation réaliste et fiable. Mais ce qui donne à Zerologon ses lettres de noblesse c’est qu’elle repose essentiellement sur la mauvaise utilisation d’un algorithme cryptographique permettant de réaliser une attaque à clair choisi particulièrement astucieuse. Zoom sur la vulnérabilité la plus passionnante de la rentrée 2020 !

CVE-2020-3433 : élévation de privilèges sur le client VPN Cisco AnyConnect

Magazine
Marque
MISC
Numéro
112
Mois de parution
novembre 2020
Domaines
Résumé

Cet article explique comment trois vulnérabilités supplémentaires ont été découvertes dans le client VPN Cisco AnyConnect pour Windows. Elles ont été trouvées suite au développement d’un exploit pour la CVE-2020-3153 (une élévation de privilèges, étudiée dans MISC n°111). Après un rappel du fonctionnement de ce logiciel, nous étudierons chacune de ces nouvelles vulnérabilités.

Return oriented programming 101

Magazine
Marque
MISC
HS n°
Numéro
22
Mois de parution
octobre 2020
Domaines
Résumé

Le Returned Oriented Programming (ou ROP) est une technique permettant d'exploiter des programmes disposant de la protection NX (No eXecute) ou DEP (Data Execution Prevention). L'objectif de cet article est de vous présenter les bases du ROP, ainsi que l’exploitation pas-à-pas d’un programme d’entraînement via l'utilisation de la bibliothèque python pwntools [1]. Dans un souci de simplicité, la démonstration sera réalisée sur un programme s'exécutant sur un système Linux 64 bits. Bien entendu, cette démonstration reste applicable sur d'autres architectures (ARM, MIPS, etc.).

Use-After-Free dans le noyau Linux

Magazine
Marque
MISC
HS n°
Numéro
22
Mois de parution
octobre 2020
Domaines
Résumé

Pièce logicielle qui a accompagné les deux dernières décennies, le noyau Linux est un système relativement complet qui dispose d’un allocateur de mémoire dynamique. Comme tous les logiciels classiques, le noyau est ainsi régulièrement sujet à des vulnérabilités de type Use-After-Free via cet allocateur.