From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753176Ab0J3JE5 (ORCPT ); Sat, 30 Oct 2010 05:04:57 -0400 Received: from mail-ey0-f174.google.com ([209.85.215.174]:37337 "EHLO mail-ey0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752859Ab0J3JEi (ORCPT ); Sat, 30 Oct 2010 05:04:38 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer; b=MnGkucGmJpXbKmPEcUQWMOinwA42desOXJdZhEa0PbliPNhv5zjtjoIxFwaLWeHGic QqscgRvTubNefLtple25YvI/zPZWXyimNRXRVmK6M6XuENvbmIyjc8iFDDm3taj0J8EI /vJJUkuCPSEWc0grqzXz2KEOfy+WhRx0kkim4= From: Vasiliy Kulikov To: kernel-janitors@vger.kernel.org Cc: Karsten Keil , Arnaldo Carvalho de Melo , "David S. Miller" , Tejun Heo , Eric Paris , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] isdn: mISDN: socket: fix information leak to userland Date: Sat, 30 Oct 2010 13:04:33 +0400 Message-Id: <1288429473-21864-1-git-send-email-segooon@gmail.com> X-Mailer: git-send-email 1.7.0.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Structure mISDN_devinfo is copied to userland with the field "name" that has the last elements unitialized. It leads to leaking of contents of kernel stack memory. Signed-off-by: Vasiliy Kulikov --- Compile tested. drivers/isdn/mISDN/socket.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/drivers/isdn/mISDN/socket.c b/drivers/isdn/mISDN/socket.c index 3232206..7446d8b 100644 --- a/drivers/isdn/mISDN/socket.c +++ b/drivers/isdn/mISDN/socket.c @@ -392,6 +392,7 @@ data_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) if (dev) { struct mISDN_devinfo di; + memset(&di, 0, sizeof(di)); di.id = dev->id; di.Dprotocols = dev->Dprotocols; di.Bprotocols = dev->Bprotocols | get_all_Bprotocols(); @@ -672,6 +673,7 @@ base_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) if (dev) { struct mISDN_devinfo di; + memset(&di, 0, sizeof(di)); di.id = dev->id; di.Dprotocols = dev->Dprotocols; di.Bprotocols = dev->Bprotocols | get_all_Bprotocols(); -- 1.7.0.4