33 lines
1.0 KiB
Diff
33 lines
1.0 KiB
Diff
|
From ec0de35ded8c4a8588290a1b442aa3aa4bdf4de1 Mon Sep 17 00:00:00 2001
|
||
|
From: Kangjie Lu <kangjielu@gmail.com>
|
||
|
Date: Tue, 3 May 2016 16:35:05 -0400
|
||
|
Subject: [PATCH 2/2] net: fix infoleak in llc
|
||
|
MIME-Version: 1.0
|
||
|
Content-Type: text/plain; charset=UTF-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
|
||
|
The stack object “info” has a total size of 12 bytes. Its last byte
|
||
|
is padding which is not initialized and leaked via “put_cmsg”.
|
||
|
|
||
|
Signed-off-by: Kangjie Lu <kjlu@gatech.edu>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
---
|
||
|
net/llc/af_llc.c | 1 +
|
||
|
1 file changed, 1 insertion(+)
|
||
|
|
||
|
diff --git a/net/llc/af_llc.c b/net/llc/af_llc.c
|
||
|
index b3c52e3f689a..8ae3ed97d95c 100644
|
||
|
--- a/net/llc/af_llc.c
|
||
|
+++ b/net/llc/af_llc.c
|
||
|
@@ -626,6 +626,7 @@ static void llc_cmsg_rcv(struct msghdr *msg, struct sk_buff *skb)
|
||
|
if (llc->cmsg_flags & LLC_CMSG_PKTINFO) {
|
||
|
struct llc_pktinfo info;
|
||
|
|
||
|
+ memset(&info, 0, sizeof(info));
|
||
|
info.lpi_ifindex = llc_sk(skb->sk)->dev->ifindex;
|
||
|
llc_pdu_decode_dsap(skb, &info.lpi_sap);
|
||
|
llc_pdu_decode_da(skb, info.lpi_mac);
|
||
|
--
|
||
|
2.5.5
|
||
|
|