Linux Kernel net/子系统get_name函数本地信息泄露漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1177348 漏洞类型 信息泄露
发布时间 2011-01-06 更新时间 2020-08-14
CVE编号 CVE-2010-3877 CNNVD-ID CNNVD-201101-006
漏洞平台 N/A CVSS评分 1.9
|漏洞来源
https://cxsecurity.com/issue/WLB-2011010118
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-201101-006
|漏洞详情
Linux kernel是美国Linux基金会发布的开源操作系统Linux所使用的内核。NFSv4 implementation是其中的一个分布式文件系统协议。 Linux kernel 2.6.37-rc2之前版本中的net/tipc/socket.c文件中的get_name函数没有初始化某个结构体。本地用户可以通过读取该结构体的拷贝从内核栈内存中获取潜在敏感信息。
|漏洞EXP

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>
---
 net/tipc/socket.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/net/tipc/socket.c b/net/tipc/socket.c
index 33217fc..e9f0d50 100644
--- a/net/tipc/socket.c
+++ b/net/tipc/socket.c
@@ -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)))
-- 
1.7.0.4

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
|参考资料

来源:bugzilla.redhat.com
链接:https://bugzilla.redhat.com/show_bug.cgi?id=649717
来源:www.kernel.org
链接:http://www.kernel.org/pub/linux/kernel/v2.6/testing/ChangeLog-2.6.37-rc2
来源:MLIST
名称:[oss-security]20101104Re:CVErequest:kernelstackinfoleaks
链接:http://openwall.com/lists/oss-security/2010/11/04/5
来源:MLIST
名称:[oss-security]20101102CVErequest:kernelstackinfoleaks
链接:http://openwall.com/lists/oss-security/2010/11/02/7
来源:MLIST
名称:[netdev]20101031[PATCH3/3]net:tipc:fixinformationleaktouserland
链接:http://marc.info/?l=linux-netdev&m=128854507420917&w=2
来源:git.kernel.org
链接:http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=88f8a5e3e7defccd3925cabb1ee4d3994e5cdb52
来源:NSFOCUS
名称:15974
链接:http://www.nsfocus.net/vulndb/15974