xserver-multidpi/dbe
Alan Coopersmith 2ef42519c4 dbe: unvalidated lengths in DbeSwapBuffers calls [CVE-2014-8097]
ProcDbeSwapBuffers() has a 32bit (n) length value that it uses to read
from a buffer. The length is never validated, which can lead to out of
bound reads, and possibly returning the data read from out of bounds to
the misbehaving client via an X Error packet.

SProcDbeSwapBuffers() swaps data (for correct endianness) before
handing it off to the real proc.  While doing the swapping, the
length field is not validated, which can cause memory corruption.

v2: reorder checks to avoid compilers optimizing out checks for overflow
that happen after we'd already have done the overflowing multiplications.

Reported-by: Ilja Van Sprundel <ivansprundel@ioactive.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2014-12-08 18:09:48 -08:00
..
dbe.c dbe: unvalidated lengths in DbeSwapBuffers calls [CVE-2014-8097] 2014-12-08 18:09:48 -08:00
dbestruct.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
Makefile.am dbe: Fold the window private private into the window private 2013-09-10 13:28:24 -04:00
midbe.c Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
midbe.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00