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

Submitted by Andy Whitcroft on July 26, 2011, 6:51 p.m.

Details

Message ID 1311706263-14144-2-git-send-email-apw@canonical.com
State New
Headers show

Commit Message

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 hide | download patch | download mbox

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