[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1462723814-14732-1-git-send-email-kjlu@gatech.edu>
Date: Sun, 8 May 2016 12:10:14 -0400
From: Kangjie Lu <kangjielu@...il.com>
To: andrew.hendry@...il.com
Cc: davem@...emloft.net, linux-x25@...r.kernel.org,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
taesoo@...ech.edu, insu@...ech.edu, csong84@...ech.edu,
Kangjie Lu <kjlu@...ech.edu>
Subject: [PATCH] fix a kernel infoleak in x25 module
Stack object "dte_facilities" is allocated in x25_rx_call_request(),
which is supposed to be initialized in x25_negotiate_facilities.
However, 5 fields (8 bytes in total) are not initialized. This
object is then copied to userland via copy_to_user, thus infoleak
occurs.
Signed-off-by: Kangjie Lu <kjlu@...ech.edu>
---
net/x25/x25_facilities.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/net/x25/x25_facilities.c b/net/x25/x25_facilities.c
index 2844031..a1c30c6 100644
--- a/net/x25/x25_facilities.c
+++ b/net/x25/x25_facilities.c
@@ -278,6 +278,7 @@ int x25_negotiate_facilities(struct sk_buff *skb, struct sock *sk,
memset(&theirs, 0, sizeof(theirs));
memcpy(new, ours, sizeof(*new));
+ memset(dte, 0, sizeof(*dte));
len = x25_parse_facilities(skb, &theirs, dte, &x25->vc_facil_mask);
if (len < 0)
--
1.9.1
Powered by blists - more mailing lists