La última falla de seguridad del Internet Explorer de Microsoft se debió a un error de tipeo: un «&» de más abrió el browser a ataques de terceros.
Si el Internet Explorer está instalado en tu PC, seguro esta semana recibiste un alerta de seguridad de Microsoft.
En esta ocasión, la vulnerabilidad que permitía que un tercero hackeara el navegador fue culpa de… un error de tipeo! Un ampersand («&») de más corrompía el código de un control ActiveX que usa el navegador.
La empresa admitió el error en un posteo de blog firmado por Michael Howard, responsable de seguridad en software de Microsoft. Allí explica que en Redmond usaron una librería de código vieja, que ya incluía fallas, que sumadas al error de tipeo causaron que el código escribiera información no confiable, expondiendo el navegador.
Convencido de que el error no era fácil de detectar, Howard copió parte del código que lo incluye, para que los lectores intenten encontrarlo. Te lo ofrecemos:
__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);
Pista: el error está en la última línea.
Para conocer la respuesta, pueden ver el posteo original de Howard haciendo click aquí.
Dos desarrolladores alemanes, Thomas Dullien y Dennis Elser, fueron los primeros en hacer público el error. Después que se enteraron que Microsoft admitía una falla de seguridad en el navegador, se pusieron a revisar el código y descubrieron el «&» que sobraba.