Manager-ul compartimentului securitate al Microsoft, Michael Howard, a explicat că această greşeală a ruinat codul de control ActiveX, folosit de browser. Potrivit lui, acest cod a fost înfiinţat de Microsoft, folosind coduri de bibliotecă mai vechi care aveau încorporate vulnerabilitatea. Din cauza prezenţei acestor vulnerabilitaţi, codul creat permite înscrierea datelor neverificate, ceea ce a creat mari posibilitaţi pentru folositea browser-ului de către cyber-infractori.
Ca urmare, compania a fost obligată să-i elibereze marţi (29.07) un patch pentru IE neordinar, care în conformitate ei blochează exploatarea vulnerabilităţilor în ActiveX. O versiune alternativă a bibliotecii Active Template Library (ATL) este utilizată în Visual Studio, deci patch-ul pentru acest "instrument" a fost eliberat în aceeaşi zi cu patch-ul pentru IE.
În blog-ul său, Howard, a oferit posibilitatea cititorilor de a găsi greşeala în cod, avertizînd că este ascunsă într-un singur semn. Iată codul:
__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);
Răspunsul corect:"Uită-te la ultimul rând. Primul argument este incorect. Ar trebui să arate astfel: hr = pStream->Read((void*)pbArray, (ULONG)cbSize, NULL); ".
Howard a recunoscut necesitatea de a purifica procesul de scriere a coduilor, şi a raportat că Microsoft a înoit instrumentele care sunt utilizate pentru a detecta astfel de erori. În plus, compania va obliga toţi programatorii ei să utilizeze numai versiunile noi de ATL.