Selon la firme de sécurité informatique eEye Digital Security, le lecteur multimédia Windows Media Player de Microsoft souffre d'une faille de type ''zero-day'', autrement dit exploitable immédiatement.


Réaction en chaîne
Dans une note technique (très technique, même), eEye Digital Security annonce la découverte d'une faille critique affectant le logiciel Windows Media Player de Microsoft dans toutes ses versions récentes, y compris sa onzième déclinaison, la dernière en date. Comme souvent en pareil cas, il s'agit d'un dépassement d'allocation de mémoire, provoqué ici par un possible fichier ASX corrompu. Pour mémoire, les fichiers portant le suffixe ''.asx'' (voir la note en fin d'article) permettent la lecture de vidéos ou de titres musicaux directement depuis un navigateur Internet : on clique sur un lien, et l'application de lecture par défaut de ce genre de fichier s'ouvre automatiquement, ou active la ou les DLL qui permettent une lecture directement dans la page Web en cours d'affichage. Le plus souvent, sous Windows, il s'agit du lecteur Windows Media.

Dans le cas qui nous occupe ici, c'est une DLL (Dynamic Link Library) dénommée WMVCORE.DLL qui est la fautive. La manière dont elle gère les adresses de type ''REF HREF'' dans les fichiers ASX est en cause, en ce sens qu'elle ne reconnaît que quelques protocoles bien précis—en l'occurrence ''file'', ''http'', ''https'', ''mms'', ''mmst'', ''mmsu'', ''rtsp'', ''rtspt'' et ''rtspu''--et aurait tendance à remplacer les préfixes inconnus par ''mms'', défini par défaut, et susceptible d'être remplacé par un code malicieux à l'insu de l'utilisateur. Ce dernier pourra alors se dupliquer dans une plage mémoire attenante, et tous les caractères figurant dans la barre d'adresses après la mention ''://'' dans l'URL ''REF HREF'' seront concaténés (ajoutés à eux-mêmes, dans ce cas) à l'infini par le biais de l'instrument idoine, WCSNCAT.


Risque de propagation
Malencontreusement, le fonctionnement même de cet accessoire fait que la plage de mémoire tampon affectée au traitement de l'URL modifié peut être élargie, puisqu'il se relance lui-même en boucle. Tous les protocoles de moins de trois lettres (''mms'' en comporte en effet trois) permettent donc de ''réserver'' une plage de mémoire théoriquement affectée à la lecture du fichier multimédia, mais qui abritera finalement tout autre chose. Les protocoles à une seule lettre ne sont pas pris en compte, puisque Windows les réserve aux lecteurs, physiques ou virtuels, mais il est possible de contourner cette caractéristique en encodant l'URL trafiqué avec un caractère neutre tel que ''&'' ou l'emploi de chiffres à la place de lettres. On peut ainsi provoquer un dépassement de mémoire de deux ou quatre octets, en fonction du nombre de caractères employés dans le préfixe de l'URL piégé. Il est même concevable que la corruption de mémoire s'étende à des plages voisines, utilisées par d'autres applications, mais eEye Digital Security se montre circonspect sur le sujet.

En l'absence de réel correctif de la part de Microsoft, le spécialiste de la sécurité recommande de changer de lecteur multimédia par défaut, et/ou de modifier le fonctionnement du lecteur Windows Media pour qu'il ne traite plus les fichiers au suffixe ''.asx''. Le risque encouru est, au mieux, une fermeture inopinée du lecteur et/ou du navigateur Internet que vous utilisez, et au pire une prise de contrôle à distance de votre PC si le code malicieux est ainsi conçu. eEye Digital Security qualifie cette faille de "sévère".


Un peu de technique...

A propos du lecteur Windows Media Player et des fichiers ASF/ASX : ASF est un format de fichier compressé qui peut stocker des informations audio et video de manière à faciliter leur diffusion sur Internet. Les fichiers ASF peuvent inclure des présentations, et être synchronisés à un contenu hébergé sur serveur par simple clic sur un lien. L'avantage de ce type de fichier tient au fait qu'il est disponible en continu et que sa lecture se lance immédiatement. Cette caractéristique est particulièrement pratique lorsqu'on poste une vidéo d'une taille conséquente sur un site Web, car en l'encodant sous un autre format, son téléchargement et sa mise en cache prendrait trop de temps : un clip au format AVI de 40 petites secondes peut prendre plus de 20 minutes à télécharger en bas débit. Une fois converti au format ASF, ce même fichier se lance en quelques secondes. En fait, la taille du fichier de départ n'a plus aucune importance une fois qu'il est encodé en ASF

Les fichiers ASX sont de simples fichiers texte de petite taille (moins de 1Ko en général) qui servent à gérer la diffusion des fichiers ASF. La compacité des fichiers ASX est liée au fait qu'ils ne contiennent aucune données, seulement des instructions texte. Quand vous cliquez dans une page Web sur un lien qui renvoit à un fichier ASF, votre navigateur télécharge le fichier ASX correspondant, lance le lecteur Windows Media Player, et entame le streaming (lecture en flux continu). L'avantage d'une telle pratique tient au fait que les fichiers vidéo peuvent être hébergés sur un serveur, et les fichiers ASX correspondants sur un autre. Les fichiers ASF peuvent être stockés sur différents types de serveurs:

  • Serveur Windows Media Services : le nom du fichier commence par mms://.
  • Serveur HTTP : le nom du fichier commence par http://.
  • Lecteur local ou en réseau : le nom du fichier commence par file://.

Les fichiers ASX, quant à eux, sont de simple et petits fichiers texte, et peuvent toujours être hébergés sur un serveur HTTP. Quand votre navigateur Internet rencontre un fichier ASX, il y puise les informations relative au fichier multimédia disponible en  streaming depuis un serveur HTTP, mms, local ou en réseau. Voici un exemple de fichier ASX :

"<ASX VERSION="3">
<ENTRY>
<REF HREF="mms://netshow.microsoft.com/ms/sbnasfs/wmt/turtle28.asf/">
<REF HREF="mms://netshow.microsoft.com/ms/sbnasfs/wmt/wmt.asf/">
</ENTRY>
</ASX>"
   
Le format ASX est très riche. On peut lui ajouter des bannières (images animées), des icônes, des images fixes, des filigranes, le tout sous la fenêtre de lecture de la vidéo elle-même.Et faire de la publicité pendant que vous regardez un podcast ou une vidéo amateur.
(Source : WebReference)