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
Spécialité(s)


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…

Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous