Developpez.com

Le Club des Développeurs et IT Pro

Microsoft découvre une faille dans MFC

Qui pourrait aboutir à des dépassements de tampon

Le 2010-07-08 12:29:23, par Gordon Fowler, Expert éminent sénior
Le Microsoft Security Response avertit les développeurs qu'une faille a été découverte dans MFC.

Pour mémoire, MFC (Microsoft Foundation Class) est une bibliothèque de classes en C++ qui encapsule l'API Win32 (écrite en C) de Windows.

La dll incriminée est la mfc42.

La vulnérabilité touche Windows 2000 et Windows XP (SP2 et SP3), et – potentiellement – toutes les applications qui utilisent cette dll.

Pour l'instant, Microsoft ne précise pas la nature de la vulnérabilité ni les actions qu'il entend réaliser pour la colmater. Ses experts en sécurité se contentent d'informer les utilisateurs qu'ils en diront plus après avoir étudié le problème.

La société Secunia en revanche est plus prolixe.

Pour elle, une attaque qui exploiterait la vulnérabilité de mfc42.dll pourrait aboutir à un buffer overflow (en français : un dépassement de tampon) et, par définition, à l'écriture et/ou à l'exécution d'un code malicieux.

A surveiller de près donc, en attendant le prochain communiqué de Microsoft.

Source : Le Tweet du Microsoft Security Response, et le bulletin de Secunia

Lire aussi :

Tutoriel : introduction aux MFC avec Visual Studio 2008, actualisé par farscape

Les rubriques (actu, forums, tutos) de Développez :

Sécurité
Windows
C++
Et le forum MFC

Et vous ?

D'après vous, faille critique ou faille mineure ?
  Discussion forum
18 commentaires
  • Caly4D
    En attente de confirmation mail
    Envoyé par ferber
    J'ai toute foi dans les experts de ms pour nous le dire une fois qu'ils auront fait le tour de la question.
    J'espère juste qu'entre temps personne n'aura fait de PoC.
    Aucune raison de faire un PoC puisque les experts de MS se penchent dessus …

    Les PoC ne sont faits que lorsque l'éditeur n'en a rien à faire et ne corrige pas la faille après avoir été averti de son existence et de sa dangerosité.
  • ferber
    Membre éprouvé
    Envoyé par kaymak
    Je rajouterais simplement la signification de PoC, pour bien en rajouter une couche sur ce que c'est, ou n'est pas.

    Proof of Concept.
    Dit clairement cela représente est explique le concept de la faille, comment l'atteindre, une preuve que c'est faisable avec les éléments clefs permettant d'utiliser cette faille, c'est bien souvent la base pour arriver à l'exploit.
    Bref, le poc est un magnifique outil pour ceux qui souhaitent se servir de cette faille.
    Le virus Podloso présent sur iPod avait théoriquement pour seul objectif de prouver qu'il était possible de faire un programme malveillant.
  • azertyman
    Membre averti
    Si je me réfère aux derniers évènements, les poc servent à mettre à mal le maximum de pc, dans le minimum de temps.
    Non, les PoC ont pour objet de démontrer que c'est possible, sans aller jusqu'au bout (au moins au niveau de la publication). L'exploitation de ce code constitue un exploit.

    Donc, un PoC pas besoin puisque MS s'en occupe ; mais espérons qu'il n'y aura pas d'exploit
  • kaymak
    Membre émérite
    Envoyé par azertyman
    Non, les PoC ont pour objet de démontrer que c'est possible, sans aller jusqu'au bout (au moins au niveau de la publication). L'exploitation de ce code constitue un exploit.

    Donc, un PoC pas besoin puisque MS s'en occupe ; mais espérons qu'il n'y aura pas d'exploit
    Je rajouterais simplement la signification de PoC, pour bien en rajouter une couche sur ce que c'est, ou n'est pas.

    Proof of Concept.
  • ram-0000
    Rédacteur
    Envoyé par ILP
    Il faudrait que Microsoft trouve le moyen de la détecter quand elle est installée sur le système et de la corriger directement .
    Windows Update le fait très bien

    Envoyé par ILP
    Sachant qu'elle peut être installée après coup.
    Elle n'est pas installée par défaut ? (c'est une vraie question, pas d'ironie de ma part)
  • Envoyé par Uther
    En général oui mais comme ça n'est pas garanti, certaines applications la déploient dans le dossier de l'application.
    Le mauvais développement d'autrui n'est pas la faute de MS, et tous les mauvais développeurs devront effectuer une mise à jour de leurs applis quand MS aura publié le correctif. Ça leur apprendra à faire les choses correctement !
  • Envoyé par Gordon Fowler

    D'après vous, faille critique ou faille mineure ?
    Hein, quoi encore des gens qui dénigrent Windows en publiant l'existence de failles, les vilains...

    Ah , non en fait c'est juste microsoft qui s'attaque à XP
  • ILP
    Membre confirmé
    Si la faille se trouve dans mfc42.dll, ça risque d'être très chaud à corriger. Vu qu'elle est déployée dans pleins d'applications et donc qu'elle peut se trouver n'importe où sur les disques durs des utilisateurs.
    Il faudrait que Microsoft trouve le moyen de la détecter quand elle est installée sur le système et de la corriger directement . Sachant qu'elle peut être installée après coup.

    Au fait, le tweet se trouve à cette adresse :
    http://twitter.com/msftsecresponse/s...us/17804294937
    Et le bulletin ici :
    http://secunia.com/advisories/40298
  • Uther
    Expert éminent sénior
    En général oui mais comme ça n'est pas garanti, certaines applications la déploient dans le dossier de l'application.
  • ILP
    Membre confirmé
    Envoyé par ram-0000
    Elle n'est pas installée par défaut ? (c'est une vraie question, pas d'ironie de ma part)
    Non, elle est ajoutée à Windows part diffèrents programme. Un peu comme GDI+ sous Windows 98. Il en existe plusieurs versions et certaines sont incompatible entre elles .
    D'ailleurs, je pense que Microsoft va faire un outil de détection comme pour GDI+.
    Envoyé par Louis Griffont
    Le mauvais développement d'autrui n'est pas la faute de MS, et tous les mauvais développeurs devront effectuer une mise à jour de leurs applis quand MS aura publié le correctif. Ça leur apprendra à faire les choses correctement !
    Microsoft aussi a déployé cette DLL dans ses produits (Money, Picture It!…).