The blk_rq_map_user_iov function in block/blk-map.c in the Linux kernel before 4.8.14 does not properly restrict the type of iterator, which allows local users to read or write to arbitrary kernel memory locations or cause a denial of service (use-after-free) by leveraging access to a /dev/sg device.
https://github.com/torvalds/linux/commit/a0ac402cfcdc904f9772e1762b3fda112dcc56a0
https://bugzilla.redhat.com/show_bug.cgi?id=1403145
https://access.redhat.com/errata/RHSA-2017:2669
https://access.redhat.com/errata/RHSA-2017:2077
https://access.redhat.com/errata/RHSA-2017:1842
http://www.securityfocus.com/bid/94821
http://www.openwall.com/lists/oss-security/2016/12/08/19
http://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.8.14
http://rhn.redhat.com/errata/RHSA-2017-0817.html
http://lists.opensuse.org/opensuse-security-announce/2016-12/msg00091.html
http://lists.opensuse.org/opensuse-security-announce/2016-12/msg00088.html
http://lists.opensuse.org/opensuse-security-announce/2016-12/msg00081.html
http://lists.opensuse.org/opensuse-security-announce/2016-12/msg00075.html
http://lists.opensuse.org/opensuse-security-announce/2016-12/msg00072.html
http://lists.opensuse.org/opensuse-security-announce/2016-12/msg00062.html
http://lists.opensuse.org/opensuse-security-announce/2016-12/msg00057.html
http://lists.opensuse.org/opensuse-security-announce/2016-12/msg00041.html
http://lists.opensuse.org/opensuse-security-announce/2016-12/msg00040.html