From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Dumazet Subject: Re: [PATCH] net: core: sock: fix information leak to userland Date: Sat, 30 Oct 2010 16:35:50 +0200 Message-ID: <1288449350.2680.970.camel@edumazet-laptop> References: <1288448801-6303-1-git-send-email-segooon@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: kernel-janitors@vger.kernel.org, "David S. Miller" , "Eric W. Biederman" , Herbert Xu , "Paul E. McKenney" , netdev@vger.kernel.org, linux-kernel@vger.kernel.org To: Vasiliy Kulikov Return-path: In-Reply-To: <1288448801-6303-1-git-send-email-segooon@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org Le samedi 30 octobre 2010 =C3=A0 18:26 +0400, Vasiliy Kulikov a =C3=A9c= rit : > "Address" variable might be not fully initialized in sock->ops->get_n= ame(). > The only current implementation is get_name(), it leaves some padding > fields of sockaddr_tipc uninitialized. It leads to leaking of conten= ts > of kernel stack memory. >=20 > Signed-off-by: Vasiliy Kulikov > --- > Compile tested. >=20 > net/core/sock.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) >=20 > diff --git a/net/core/sock.c b/net/core/sock.c > index 3eed542..759dd81 100644 > --- a/net/core/sock.c > +++ b/net/core/sock.c > @@ -930,6 +930,7 @@ int sock_getsockopt(struct socket *sock, int leve= l, int optname, > { > char address[128]; > =20 > + memset(&address, 0, sizeof(address)); > if (sock->ops->getname(sock, (struct sockaddr *)address, &lv, 2)) > return -ENOTCONN; > if (lv < len) ??? Please fix the real bug.