Windows Metafile

Un article de Wikipédia, l'encyclopédie libre.

Windows Metafile (WMF) est un format d'image numérique sur les systèmes Microsoft Windows, conçu au début des années 1990 et de moins en moins utilisé depuis l'avènement d'Internet et de l'utilisation massive d'autres formats comparables comme GIF, JPEG, et PNG. C'est un format supportant le dessin vectoriel, mais qui permet aussi l'inclusion d'images matricielles.

WMF est un format 16-bit, introduit avec Microsoft Windows 3.0; une nouvelle version 32-bit, « améliorée », est appelée Enhanced Metafile (EMF).

Sommaire

[modifier] Description

Le fonctionnement d'un fichier WMF est similaire à celui du format PostScript utilisé en environnement UNIX. Un fichier WMF est un ensemble d'appels à des fonctions, et ces appels sont envoyés à l'interface graphique (GDI) pour affichage.

GDI (Graphics Device Interface ou Graphical Device Interface) est la couche graphique de Microsoft Windows, un des trois « sous-systèmes » clés de ce système d'exploitation. Utilisé pour représenter des objets graphiques et les afficher sur des fenêtres, écrans, imprimantes, … il se manifeste sous forme de DLL (gdi32.dll), exécutée avec des privilèges « SYSTEM » (équivalent aux droits administrateur, ou root).

[modifier] Exploit SetAbortProc

L'appel SetAbortProc inclus dans gdi32.dll permet à une application de signaler à GDI qu'elle comporte une fonction de gestion d'erreurs au niveau du spouleur ou de suppression de travaux d'impression. Elle permet donc d'ajouter du code arbitraire à l'image WMF, exécuté sans la permission de l'utilisateur.

Même si cet appel a été rendu obsolète par l'arrivée de Win32, le code pour le gérer est toujours présent sur tous les systèmes Microsoft Windows actuels et disponibles depuis 1990, ceci afin de garder une compatibilité descendante.

Une faille se situant au niveau de cet appel a été découverte fin décembre 2005, offrant la possibilité d'exécuter du code arbitraire avec les privilèges de gdi32.dll (« SYSTEM »), et ainsi de compromettre totalement l'intégrité du système. Toute application cherchant à afficher une image WMF (comme Internet Explorer, Explorateur de fichiers, Google Desktop Search) est alors vulnérable à cet exploit. Cette vulnérabilité a été corrigée début janvier 2006.

[modifier] Annexes

[modifier] Voir aussi

[modifier] Liens externes