EPATHOBJ de NT4 à Windows 8 (CVE-2013-3660)

Magazine
Marque
MISC
Numéro
70
Mois de parution
novembre 2013
Spécialité(s)


Résumé

En mars, Tavis Ormandi découvre un bug dans le noyau Windows. Sa particularité est qu'il impacte toutes les versions du système (de Windows 8 à NT4). Un mois plus tard, une élévation de privilèges basée sur ce bug est rendue publique. La vulnérabilité sera finalement corrigée en juillet.


1. Découverte du bug

De par sa localisation et sa portée, l'impact du bug est immense. En effet, le bug est localisé dans le driver win32k.sys, responsable du rendu graphique (Graphics Device Interface ou GDI) et plus précisément dans un mécanisme ancien, datant du noyau NT. Cette faille est restée cachée depuis 1990. Sa découverte est due au fuzzing de la GDI dans des conditions particulières, où la mémoire est saturée. [TAVISO]

Le mécanisme vulnérable est situé dans la gestion des objets graphiques nommés PATH. Le rôle d'un PATH est de décrire une forme graphique, grâce à un ensemble de points, courbes et arcs. En mémoire, notre PATH est représenté par une liste doublement chaînée de tous ses composants (points, courbe, arcs) :

typedef struct _PATHRECORD {

struct _PATHRECORD *pprnext;

struct _PATHRECORD *pprprev;

FLONG flags;

ULONG count;

POINTFIX points[0];

} PATHRECORD, *PPATHRECORD;

Cette structure PATHRECORD peut...

Cet article est réservé aux abonnés. Il vous reste 92% à 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