Contribuez à SecuObs en envoyant des bitcoins ou des dogecoins.
Nouveaux articles (fr): 1pwnthhW21zdnQ5WucjmnF3pk9puT5fDF
Amélioration du site: 1hckU85orcGCm8A9hk67391LCy4ECGJca

Contribute to SecuObs by sending bitcoins or dogecoins.



Une nouvelle faille dans Windows Vista et Windows XP

Par Rédaction, secuobs.com
Le 22/12/2006


Résumé : La société Determina publie un bulletin de sécurité à propos d'une faille affectant notamment Windows XP et le tout prochain Windows Vista ; au programme risques d'élévation de privilèges et d'exécution de code arbitraire avec les droits SYSTEM.



Notamment connue pour ses travaux d'ingénierie inverse sur les binaires de la firme Microsoft ( lien ), la société Determina a publié ce 20 décembre un bulletin de sécurité à propos d'une faille, découverte par Tim Garnett, affectant plusieurs systèmes d'exploitation de la marque Microsoft.

La publication de ce bulletin; également à mettre aux crédits des travaux de recherche d'Alexander Potiron, intervient après la révélation publique de la faille concernée sur le site russe « kuban.ru » ( lien ) le 15 décembre dernier et cela bien indépendamment de la volonté de la société Determina et de son centre de recherche ( « Determina Security Research » - lien ).

Cette vulnérabilité permettrait en principe à une personne mal intentionnée de réaliser une élévation de privilèges lui offrant les droits « SYSTEM » dans le contexte local du processus « CSRSS.EXE » avec les risques de compromissions que cela implique pour l'intégrité du système d'exploitation, la sécurité de ses utilisateurs et la confidentialité des échanges effectués par le biais de celui-ci.

Techniquement, l'exploitation réussie de cette erreur nécessite que le flag « MB_SERVICE_NOTIFICATION » soit positionné lors de l'appel, depuis l'API de votre système d'exploitation Windows, à la fonction « MessageBox », déjà connue pour ses problèmes de sécurité depuis 1999 ( lien ) ; il sera alors fait appel à l'appel système « NtRaiseHardError » ( lien ) pour envoyer un message de type « HardError » vers le processus « CSRSS.EXE ».

Celui-ci est notamment utilisé par certains services, ne présentant pas de spécificités interactives, pour avertir les utilisateurs lorsqu'une erreur critique est survenue.

Le message « HardError » est alors traité par la fonction « UserHardError » de la librairie « WINSRV.DLL » ; un appel est ensuite réalisé vers la fonction « GetHardErrorText » afin de récupérer les paramètres, afférents au message d'erreur, depuis l'espace d'adressage du service expéditeur.

Cette même fonction « GetHardErrorText » transfère alors la valeur de ces pointeurs vers la zone de texte et la légende de la boîte de dialogue qui doit afficher le message d'erreur à l'utilisateur ; si ces paramètres commencent par le préfixe « \??\ », la fonction libère alors anormalement le tampon de la zone mémoire et renvoie un pointeur vers la mémoire libérée.

Cela pourrait permettre à un attaquant de provoquer une corruption de la mémoire avec des risques probables d'exécution de code arbitraire, tout au moins un Déni de Service empêchant les usages réguliers du service.

Parmi les systèmes présentant cette faiblesse, on retrouve les grands classiques Windows 2000, Windows 2003 et Windows XP mais également le tout prochain Windows Vista qui fait également couler beaucoup d'encre avec le pseudo 0day, mis en vente à 50 000 $, qui aurait été « découvert » par la société, éditrice de solutions antivirales, Trend Micro ( lien ).

On notera que Windows NT ne fais pas parti des solutions vulnérables cette fois. Aucun correctif de sécurité n'est disponible à l'heure actuelle pour les systèmes affectés.