From patchwork Tue Jul 26 18:51:02 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [hardy,CVE,1/1] Bluetooth: sco: fix information leak to userspace From: Andy Whitcroft X-Patchwork-Id: 106906 Message-Id: <1311706263-14144-2-git-send-email-apw@canonical.com> To: kernel-team@lists.ubuntu.com Date: Tue, 26 Jul 2011 19:51:02 +0100 From: Vasiliy Kulikov 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 Signed-off-by: Gustavo F. Padovan (cherry picked from commit c4c896e1471aec3b004a693c689f60be3b17ac86) CVE-2011-1078 BugLink: http://bugs.launchpad.net/bugs/816542 Signed-off-by: Andy Whitcroft --- 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 break; } + 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);