[PATCH] tipc: fix an infoleak in tipc_nl_compat_link_dump

Subsystems: networking [general], the rest, tipc network layer

STALE3719d

2 messages, 2 authors, 2016-06-02 · open the first message on its own page

[PATCH] tipc: fix an infoleak in tipc_nl_compat_link_dump

From: Kangjie Lu <hidden>
Date: 2016-06-01 16:35:04

link_info.str is a char array of size 60. Memory after the NULL
byte is not initialized. Sending the whole object out can cause
a leak.

Signed-off-by: Kangjie Lu <redacted>
---
 net/tipc/netlink_compat.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/net/tipc/netlink_compat.c b/net/tipc/netlink_compat.c
index f795b1d..115aafa 100644
--- a/net/tipc/netlink_compat.c
+++ b/net/tipc/netlink_compat.c
@@ -604,6 +604,7 @@ static int tipc_nl_compat_link_dump(struct tipc_nl_compat_msg *msg,
 
 	link_info.dest = nla_get_flag(link[TIPC_NLA_LINK_DEST]);
 	link_info.up = htonl(nla_get_flag(link[TIPC_NLA_LINK_UP]));
+	memset((void *)link_info.str, 0, TIPC_MAX_LINK_NAME);
 	strcpy(link_info.str, nla_data(link[TIPC_NLA_LINK_NAME]));
 
 	return tipc_add_tlv(msg->rep, TIPC_TLV_LINK_INFO,
-- 
2.7.4

Re: [PATCH] tipc: fix an infoleak in tipc_nl_compat_link_dump

From: David Miller <davem@davemloft.net>
Date: 2016-06-02 06:32:21

From: Kangjie Lu <redacted>
Date: Wed,  1 Jun 2016 12:34:55 -0400
quoted hunk
diff --git a/net/tipc/netlink_compat.c b/net/tipc/netlink_compat.c
index f795b1d..115aafa 100644
--- a/net/tipc/netlink_compat.c
+++ b/net/tipc/netlink_compat.c
@@ -604,6 +604,7 @@ static int tipc_nl_compat_link_dump(struct tipc_nl_compat_msg *msg,
 
 	link_info.dest = nla_get_flag(link[TIPC_NLA_LINK_DEST]);
 	link_info.up = htonl(nla_get_flag(link[TIPC_NLA_LINK_UP]));
+	memset((void *)link_info.str, 0, TIPC_MAX_LINK_NAME);
 	strcpy(link_info.str, nla_data(link[TIPC_NLA_LINK_NAME]));
 
Please instead use "nla_strlcpy()".

Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help