CVE-2013-0131: NVIDIA UNIX GPU Driver ARGB Cursor Buffer Overflow in "NoScanout" Mode.

When the NVIDIA driver for the X Window System is operated in "NoScanout" mode, and an X client installs an ARGB cursor that is larger than the expected size (64x64 or 256x256, depending on the driver version), the driver will overflow a buffer. This can cause a denial of service (e.g., an X server segmentation fault), or could be exploited to achieve arbitrary code execution. Because the X server runs as setuid root in many configurations, an attacker could potentially use this vulnerability in those configurations to gain root privileges. To install an ARGB cursor, an application would require a connection to a running X server. Normally, X servers are configured to only accept authenticated connections from the local host, but some X servers may be configured to more permissively allow connections, and/or to allow connections over a network.

"NoScanout" mode is enabled implicitly on NVIDIA products which lack display output connectors, and can be enabled explicitly on some other configurations with the X configuration option:

Option "UseDisplayDevice" "none"

NVIDIA GPU drivers for OSes other than Linux, FreeBSD, VMware ESX, and Solaris are not affected.

This vulnerability has been present since NVIDIA driver version 195.22. The overflow is fixed in 304.88, 310.44, 313.30, and all drivers newer than those versions. NVIDIA recommends that users upgrade to a fixed driver version, or disable NoScanout mode, where possible.

This vulnerability was identified by NVIDIA. There are no known reports of exploits of this vulnerability in the wild.

Security issues pertaining to NVIDIA's UNIX GPU Drivers can be reported through unix-security@nvidia.com or the web form available from http://www.nvidia.com/object/product-security.html