Microsoft découvre une faille dans MFC
Qui pourrait aboutir à des dépassements de tampon

Le , 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 ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de kaymak kaymak - Membre chevronné http://www.developpez.com
le 08/07/2010 à 16:42
Citation Envoyé par azertyman  Voir le message
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.
Avatar de ferber ferber - Membre éprouvé http://www.developpez.com
le 08/07/2010 à 16:59
Citation Envoyé par kaymak  Voir le message
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.
Avatar de ILP ILP - Membre averti http://www.developpez.com
le 08/07/2010 à 17:35
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/status/17804294937
Et le bulletin ici :
http://secunia.com/advisories/40298
Avatar de ram-0000 ram-0000 - Rédacteur http://www.developpez.com
le 08/07/2010 à 18:30
Citation Envoyé par ILP  Voir le message
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

Citation Envoyé par ILP  Voir le message
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)
Avatar de Uther Uther - Expert éminent http://www.developpez.com
le 09/07/2010 à 8:54
En général oui mais comme ça n'est pas garanti, certaines applications la déploient dans le dossier de l'application.
Avatar de Louis Griffont Louis Griffont - Inactif http://www.developpez.com
le 09/07/2010 à 11:24
Citation Envoyé par Uther  Voir le message
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 !
Avatar de ILP ILP - Membre averti http://www.developpez.com
le 09/07/2010 à 16:25
Citation Envoyé par ram-0000  Voir le message
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+.
Citation Envoyé par Louis Griffont  Voir le message
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!…).
Avatar de goomazio goomazio - Membre chevronné http://www.developpez.com
le 09/07/2010 à 19:39
Citation Envoyé par ILP  Voir le message
Microsoft aussi a déployé cette DLL dans ses produits (Money, Picture It!…).

La question posée un peu plus haut était "où la déployer pour pouvoir la corriger facilement", et pas la déployer ou pas. Du moins, on n'en est pas encore là, car elle va être corrigée normalement (sans vouloir faire de lien bidon avec les éditeurs qui ne corrigent pas certaines failles).
Avatar de GCSX_ GCSX_ - Membre confirmé http://www.developpez.com
le 10/07/2010 à 23:05
Comme c'est marqué dans le 1er post, cette faille ne concerne que 2K et XP.

Vista et 7 ne sont pas concernés car ils utilisent des algorthmes de protection de la mémoire qui interdit l'exécution de code situé autre-part que dans le segment de texte. Ce qui rend les dépassements de tempons inutilisable (l'application plante immédiatement et déclanche la DEP ou une violation d'accès mémoire).

Vista plantait tout le temps à cause de ça : les pilotes en particulier étaient tellement mal écrits à l'époque que cette nouvelle protection se déclanchait sans arrêt...

Pour ce qui est de 2000 et XP, M$ à 3 solutions :
S'attaquer à la source en patchant les DLL mfc42 du PC,
Patcher Windows pour détecter, au chargement de la DLL, si elle est patché ou patcher en mémoire si nécessaire,
Détecter l'overflow et planter le programme (ou faire un écran bleu).
Avatar de kaymak kaymak - Membre chevronné http://www.developpez.com
le 12/07/2010 à 16:33
Citation Envoyé par ferber  Voir le message
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.

.... Le PoC se contente de prouver que la faille existe, mais ne l'exploite pas..... L'exploit rajoute le matériel nécessaire à rendre la faille dangereuse, autrement dit exploitable à des fins d'utilisations malveillantes.

C'est semble-t-il un mal nécessaire pour les chercheurs aient besoin de démontrer la viabilité d'un exploit théorique avec autant de certitude.
Avatar de rt15 rt15 - Membre confirmé http://www.developpez.com
le 14/07/2010 à 13:42
Citation Envoyé par GCSX_  Voir le message
Vista et 7 ne sont pas concernés car ils utilisent des algorythmes de protection de la mémoire qui interdit l'exécution de code situé autre-part que dans le segment de texte. Ce qui rend les dépassements de tempons inutilisable (l'application plante immédiatement et déclanche la DEP ou une violation d'accès mémoire).

Vista plantait tout le temps à cause de ça : les pilotes en particulier étaient tellement mal écrits à l'époque que cette nouvelle protection se déclanchait sans arrêt...

Je ne connaissais pas cette protection.
En tout cas, par défaut, elle ne fonctionne que pour les applis systèmes et services windows.

Il risque en effet d'y avoir pas mal d'application qui ne fonctionne plus avec cette option d'activée (Si elle marche vraiment !). Probablement tout ce qui est génération de code, injections... Quoiqu'il faudrait aussi voir si un petit coup de VirtualProtect contourne ça ou pas.
Offres d'emploi IT
La Securité intérieure (DGSI) recrute un ingénieur d'étude en applications web h/f
DGSI - Ile de France - Levallois-Perret (92300)
Expert Magento
Agence Aristote - Ile de France - Asnières sur Seine
Futurs ingénieurs informatique H/F
Adaming - Rhône Alpes - Lyon (69000)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil