Risque

Exécution de code arbitraire à distance.

Systèmes affectés

  • Windows XP SP3 ;
  • Windows XP Pro SP2 64bits ;
  • Windows Vista SP1 et SP2 (32bits et 64bits) ;
  • Windows Server 2003 SP2 (32 bits et 64 bits) ;
  • Windows Server 2003 SP2 (Itanium) ;
  • Windows Server 2008 (32bits et 64 bits) ;
  • Windows Server 2008 (Itanium) ;
  • Windows Server 2008 SP2 (32bits et 64 bits) ;
  • Windows Server 2008 SP2 (Itanium).

Résumé

Un correctif a été publié le 08 février 2011.

Une vulnérabilité non corrigée dans le moteur de rendu graphique de Windows permet à une personne malintentionnée d'exécuter du code arbitraire à distance.

Description

Une vulnérabilité non corrigée a été découverte dans le moteur de rendu graphique de Windows. Elle permet d'exécuter du code malveillant au moyen d'une image d'aperçu (miniature ou thumbnail) spécialement réalisée. Une personne malintentionnée distante peut faire exécuter du code arbitraire à une victime en la dupant et en lui faisant ouvrir un document, ou suivre un lien malveillant, entrainant la visualisation d'une miniature spécialement réalisée.

Des exemples de code d'exploitation de cette vulnérabilité sont d'ores et déjà recensés sur l'Internet.

Contournement provisoire

Microsoft propose comme moyen de contournement de limiter les droits sur la bibliothèque responsable du rendu graphique des miniatures, le fichier shimgvw.dll. Cela est faisable grace aux commandes suivantes executées en tant qu'administrateur :

  • Pour les systèmes Windows XP et Windows Server 2003 :
    Echo y| cacls %WINDIR%\SYSTEM32\shimgvw.dll /E /P "Tout le monde":N
    
  • pour les systèmes Windows Vista 32 bits et Windows Server 2008 32 bits :
    takeown /f %WINDIR%\SYSTEM32\SHIMGVW.DLL
    icacls %WINDIR%\SYSTEM32\SHIMGVW.DLL /save %TEMP%\SHIMGVW_ACL.TXT
    icacls %WINDIR%\SYSTEM32\SHIMGVW.DLL /deny "Tout le monde":(F)
    
  • pour les systèmes Windows Vista 64 bits et Windows Server 2008 64 bits :
    takeown /f %WINDIR%\SYSTEM32\SHIMGVW.DLL
    takeown /f %WINDIR%\SYSWOW64\SHIMGVW.DLL
    icacls %WINDIR%\SYSTEM32\SHIMGVW.DLL /save %TEMP%\SHIMGVW_ACL32.TXT
    icacls %WINDIR%\SYSWOW64\SHIMGVW.DLL /save %TEMP%\SHIMGVW_ACL64.TXT
    icacls %WINDIR%\SYSTEM32\SHIMGVW.DLL /deny "Tout le monde":(F)
    icacls %WINDIR%\SYSWOW64\SHIMGVW.DLL /deny "Tout le monde":(F)
    

Ce contournement aura pour effet, entre autre, de remplacer l'affichage des miniatures par l'affichage des icones. Attention, il doit être validé avant d'être déployé en production. Le CERTA rappelle aussi qu'il est recommandé d'utiliser un compte utilisateur aux droits restreints et de respecter les bonnes pratiques en matière de sécurité.

Solution

Se référer au bulletin de sécurité de l'éditeur pour l'obtention des correctifs (cf. section Documentation).

Note : Les mesures de contournement provisoire doivent être supprimées avant l'application du correctif MS11-006.

Documentation