summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYoung Xiao <YangX92@hotmail.com>2019-04-12 15:24:30 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-05-16 09:17:21 +0200
commit9c47ad93de73786aef31033e2aabd9df020e68cd (patch)
tree426eaa0417ebde6c817a437eda75f71787954205
parent6ee71083b16ff449757a6ceb232720f09607edc2 (diff)
downloadlinux-stable-9c47ad93de73786aef31033e2aabd9df020e68cd.tar.gz
linux-stable-9c47ad93de73786aef31033e2aabd9df020e68cd.tar.bz2
linux-stable-9c47ad93de73786aef31033e2aabd9df020e68cd.zip
Bluetooth: hidp: fix buffer overflow
commit a1616a5ac99ede5d605047a9012481ce7ff18b16 upstream. Struct ca is copied from userspace. It is not checked whether the "name" field is NULL terminated, which allows local users to obtain potentially sensitive information from kernel stack memory, via a HIDPCONNADD command. This vulnerability is similar to CVE-2011-1079. Signed-off-by: Young Xiao <YangX92@hotmail.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Cc: stable@vger.kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--net/bluetooth/hidp/sock.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/bluetooth/hidp/sock.c b/net/bluetooth/hidp/sock.c
index cb3fdde1968a..322047f9d038 100644
--- a/net/bluetooth/hidp/sock.c
+++ b/net/bluetooth/hidp/sock.c
@@ -76,6 +76,7 @@ static int hidp_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long
sockfd_put(csock);
return err;
}
+ ca.name[sizeof(ca.name)-1] = 0;
err = hidp_connection_add(&ca, csock, isock);
if (!err && copy_to_user(argp, &ca, sizeof(ca)))