summaryrefslogtreecommitdiff
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-10 18:36:13 +0200
commit1c1727f4b9482b252e2113bd4d9095c086c0d2a0 (patch)
tree78ec603403dad90c6559a8cb149ec67dc8609b1f
parent69d6687a5c6638336f99a3ae9cad30bd64aa8710 (diff)
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 9f85a1943be9..2151913892ce 100644
--- a/net/bluetooth/hidp/sock.c
+++ b/net/bluetooth/hidp/sock.c
@@ -75,6 +75,7 @@ static int do_hidp_sock_ioctl(struct socket *sock, unsigned int cmd, void __user
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)))