Windows | Windows Server | Active directory | Exchange | SharePoint | SCCM | SCOM | Hyper-V | App-V
ACCUEIL Facebook Twitter Linked In Viadeo Flux RSS
Actualités suivantes

Actualités précédentes
Nouvel outil de diagnostic sur Office 365
Nombreux départ à Microsoft
Cortana aura du retard sur Android
Que vaut vraiment la Microsoft Surface 3?
Microsoft tente de réduire l'écart avec Sony


Publié le : 10/08/2009 00:04:43
Mise à jour le : 08/08/2009 12:38:47
Catégories :


Version imprimable

Auteur(s)

Un « & » mal placé à l'origine d'une faille critique dans Internet Explorer


La faille de sécurité affectant Internet Explorer et pour laquelle Microsoft vient de publier un patch est due à une esperluette mal placée.

Le 28 juillet dernier, Microsoft sortait de son cycle habituel de publication de correctifs pour mettre à disposition en urgence deux mises à jour, dont une pour Internet Explorer.

Cette faille, jugée critique par l'éditeur lui même, venait d'une simple erreur typographique dans le code, apprend-on d'un responsable sécurité de Microsoft. Une simple esperluette (&) mal placée permettait aux pirates de prendre le contrôle des machines  sur les différentes versions du navigateur, d'IE5 à IE8.

« Le caractère "&" supplémentaire dans le code vulnérable permettait d'écrire des données fausses, non vérifiées », explique Michael Howard sur l'un des blogs officiels de MSDN. Cette brèche permettait à des pirates de s'attaquer au contrôle vidéo Active X du navigateur dans le but d'installer sur les PC tournant avec Windows 2000, Vista et XP des logiciels malveillants du type spywares.

Le code à l'origine de la faille

Michael Howard a publié sur son blog le code à l'origine de la faille :

__int64 cbSize;
hr = pStream->Read((void*) &cbSize, sizeof(cbSize), NULL);
BYTE *pbArray;
HRESULT hr = SafeArrayAccessData(psa, reinterpret_cast(&pbArray));
hr = pStream->Read((void*)&pbArray, (ULONG)cbSize, NULL);

Il aurait fallu écrire :
hr = pStream->Read((void*)pbArray, (ULONG)cbSize, NULL);(sans &) 

(Source 01 Net)