[hardy CVE 1/1] Bluetooth: sco: fix information leak to userspace

Andy Whitcroft apw at canonical.com
Tue Jul 26 18:51:02 UTC 2011

From: Vasiliy Kulikov <segoon at openwall.com>

struct sco_conninfo has one padding byte in the end.  Local variable
cinfo of type sco_conninfo is copied to userspace with this uninizialized
one byte, leading to old stack contents leak.

Signed-off-by: Vasiliy Kulikov <segoon at openwall.com>
Signed-off-by: Gustavo F. Padovan <padovan at profusion.mobi>

(cherry picked from commit c4c896e1471aec3b004a693c689f60be3b17ac86)
BugLink: http://bugs.launchpad.net/bugs/816542
Signed-off-by: Andy Whitcroft <apw at canonical.com>
 net/bluetooth/sco.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c
index dffee7c..cd76104 100644
--- a/net/bluetooth/sco.c
+++ b/net/bluetooth/sco.c
@@ -820,6 +820,7 @@ static int sco_sock_getsockopt(struct socket *sock, int level, int optname, char
+		memset(&cinfo, 0, sizeof(cinfo));
 		cinfo.hci_handle = sco_pi(sk)->conn->hcon->handle;
 		memcpy(cinfo.dev_class, sco_pi(sk)->conn->hcon->dev_class, 3);

More information about the kernel-team mailing list