In was found that in the Linux kernel in vmw_surface_define_ioctl() function in 'drivers/gpu/drm/vmwgfx/vmwgfx_surface.c' file, a 'req->mip_levels[i]' are user-controlled values which are not checked for the upper limit and are used to calculate 'num_sizes' parameter. Both the 'num_sizes' and the array are 'uint32_t' so it is possible to make 'num_sizes' overflow. Later 'mip_levels[i]' are used as the loop count. This can lead an oob-write and/or kernel lock up. Due to the nature of the flaw, privilege escalation cannot be fully ruled out, although we believe it is unlikely. References: http://seclists.org/oss-sec/2017/q1/688 Proposed patch: https://lists.freedesktop.org/archives/dri-devel/2017-March/137094.html
Created kernel tracking bugs for this issue: Affects: fedora-all [bug 1436802]
Statement: This issue does not affect the Linux kernel packages as shipped with Red Hat Enterprise Linux 5 as the code where the flaw was found is not present in this product. This issue affects the Linux kernel packages as shipped with Red Hat Enterprise Linux 6, 7 and MRG-2. Future Linux kernel updates for the respective releases might address this issue.
This issue has been addressed in the following products: Red Hat Enterprise Linux 7 Via RHSA-2018:0676 https://access.redhat.com/errata/RHSA-2018:0676
This issue has been addressed in the following products: Red Hat Enterprise Linux 7 Via RHSA-2018:1062 https://access.redhat.com/errata/RHSA-2018:1062