net: tipc: fix information leak to userland
Structure sockaddr_tipc is copied to userland with padding bytes after "id" field in union field "name" unitialized. It leads to leaking of contents of kernel stack memory. We have to initialize them to zero. Signed-off-by: Vasiliy Kulikov <segooon@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
ea80907ff0
Коммит
88f8a5e3e7
|
@ -396,6 +396,7 @@ static int get_name(struct socket *sock, struct sockaddr *uaddr,
|
|||
struct sockaddr_tipc *addr = (struct sockaddr_tipc *)uaddr;
|
||||
struct tipc_sock *tsock = tipc_sk(sock->sk);
|
||||
|
||||
memset(addr, 0, sizeof(*addr));
|
||||
if (peer) {
|
||||
if ((sock->state != SS_CONNECTED) &&
|
||||
((peer != 2) || (sock->state != SS_DISCONNECTING)))
|
||||
|
|
Загрузка…
Ссылка в новой задаче