Windows Metafile

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Windows Metafile (WMF) est un format d'image numérique sur les systèmes 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).

Description[modifier | modifier le code]

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).

Exploit SetAbortProc[modifier | modifier le code]

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.

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]