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

login
register
mail settings
Submitter Andy Whitcroft
Date July 26, 2011, 6:51 p.m.
Message ID <1311706263-14144-2-git-send-email-apw@canonical.com>
Download mbox | patch
Permalink /patch/106906/
State New
Headers show

Comments

Andy Whitcroft - July 26, 2011, 6:51 p.m.
From: Vasiliy Kulikov <segoon@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@openwall.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>

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

Patch

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);