Vigil@nce - Windows: denial of service via GreStretchBltInternal
August 2010 by Vigil@nce
This bulletin was written by Vigil@nce : http://vigilance.fr/
SYNTHESIS OF THE VULNERABILITY
An attacker can use BitBlt() function with same source and destination in order to stop the kernel.
Creation date: 19/08/2010
DESCRIPTION OF THE VULNERABILITY
A bit bloc transfer (bitblt) is used to copy of a part of the screen to another.
The Windows API function BitBlt() realises a bitblt. It calls the GreStretchBltInternal() function of win32k.sys. However, when the source and target areas are the same, memory is freed twice leading to an unhandled exception stopping the kernel.
An attacker can therefore use BitBlt() function with same source and destination in order to stop the kernel.
ACCESS TO THE COMPLETE VIGIL@NCE BULLETIN