Description
net/socket.c in the Linux kernel 3.19 before 3.19.3 does not validate certain range data for (1) sendto and (2) recvfrom system calls, which allows local users to gain privileges by leveraging a subsystem that uses the copy_from_iter function in the iov_iter interface, as demonstrated by the Bluetooth subsystem.
References
- http://grsecurity.net/~spender/viro.txt
- 73286 vdb-entry
- http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4de930efc23b92ddf88ce91c405ee645fe6e27ea
- http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.19.3
- http://twitter.com/grsecurity/statuses/579050211605102592
- http://twitter.com/grsecurity/statuses/579060953477701632
- http://twitter.com/grsecurity/statuses/579075689439059968
- [oss-security] 20150323 CVE Request: Linux kernel: sys_sendto/sys_recvfrom does not validate the user provided ubuf pointer mailing-list
- https://github.com/torvalds/linux/commit/4de930efc23b92ddf88ce91c405ee645fe6e27ea
- https://bugzilla.redhat.com/show_bug.cgi?id=1205242