Linux Kernel ipv6_getsockopt_sticky函数拒绝服务及信息泄露漏洞

admin 2022-07-23 01:41:26 CNNVD漏洞 来源:ZONE.CI 全球网 0 阅读模式

漏洞信息详情

Linux Kernel ipv6_getsockopt_sticky函数拒绝服务及信息泄露漏洞

  • CNNVD编号:CNNVD-200703-332
  • 危害等级: 低危
  • CVE编号: CVE-2007-1000
  • 漏洞类型: 设计错误
  • 发布时间: 2007-03-12
  • 威胁类型: 本地
  • 更新时间: 2007-03-13
  • 厂        商: linux
  • 漏洞来源: 617255317※ 6172553...

漏洞简介

Linux kernel是美国Linux基金会发布的开源操作系统Linux所使用的内核。NFSv4 implementation是其中的一个分布式文件系统协议。 Linux Kernel IPv6相关的代码实现上存在漏洞,可能导致拒绝服务或内核信息泄露。 Linux Kernel的net/ipv6/ipv6_sockglue.c文件中的ipv6_getsockopt_sticky()函数存在空指针引用漏洞,漏洞代码如下: 340 case IPV6_2292PKTOPTIONS: 341 { 342 struct ipv6_txoptions *opt = NULL; [1] 343 struct msghdr msg; 344 struct flowi fl; 345 int junk; 346 347 fl.fl6_flowlabel = 0; 348 fl.oif = sk->sk_bound_dev_if; 349 340 if (optlen == 0) 341 goto update; [2] 377 update: 378 retv = 0; 379 if (inet_sk(sk)->is_icsk) { 380 if (opt) { ... 389 } 390 opt = xchg(&np->opt, opt); [3] 391 sk_dst_reset(sk); 392 } else { 393 write_lock(&sk->sk_dst_lock); 394 opt = xchg(&np->opt, opt); [4] 395 write_unlock(&sk->sk_dst_lock); 396 sk_dst_reset(sk); 397 } 819 case IPV6_DSTOPTS: 820 { 821 822 lock_sock(sk); 823 len = ipv6_getsockopt_sticky(sk, np->opt->hopopt, [5] 824 optval, len); 825 release_sock(sk); 826 return put_user(len, optlen); 827 } 在do_ipv6_setsockopt()函数中,如果optname = IPV6_2292PKTOPTIONS且optlen = 0的话(如[2]所示),np->opt就会被设置为空([3][4]所示)。在do_ipv6_getsockopt()函数中,如果optname = IPV6_DSTOPTS,就会在[5]引用np->opt。 攻击者可以利用这个漏洞读取任意内核内存:ipv6_getsockopt_sticky()将np->opt->hopopt拷贝到optavl(用户缓冲区),np->opt可mmap到空。。

漏洞公告

目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://bugzilla.kernel.org/attachment.cgi?id=10647&action=view

参考网址

来源: VU#920689 名称: VU#920689 链接:http://www.kb.cert.org/vuls/id/920689 来源: BID 名称: 22904 链接:http://www.securityfocus.com/bid/22904 来源: www.kernel.org 链接:http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.20.2 来源: bugzilla.kernel.org 链接:http://bugzilla.kernel.org/show_bug.cgi?id=8134 来源: issues.rpath.com 链接:https://issues.rpath.com/browse/RPL-1153 来源: MISC 链接:http://www.wslabi.com/wabisabilabi/initPublishedBid.do? 来源: UBUNTU 名称: USN-489-1 链接:http://www.ubuntu.com/usn/usn-489-1 来源: UBUNTU 名称: USN-486-1 链接:http://www.ubuntu.com/usn/usn-486-1 来源: BUGTRAQ 名称: 20070615 rPSA-2007-0124-1 kernel xen 链接:http://www.securityfocus.com/archive/1/471457 来源: REDHAT 名称: RHSA-2007:0169 链接:http://www.redhat.com/support/errata/RHSA-2007-0169.HTML 来源: OSVDB 名称: 33025 链接:http://www.osvdb.org/33025 来源: MANDRIVA 名称: MDKSA-2007:078 链接:http://www.mandriva.com/security/advisories?name=MDKSA-2007:078 来源: VUPEN 名称: ADV-2007-0907 链接:http://www.frsirt.com/english/advisories/2007/0907 来源: SECUNIA 名称: 26139 链接:http://secunia.com/advisories/26139 来源: SECUNIA 名称: 26133 链接:http://secunia.com/advisories/26133 来源: SECUNIA 名称: 25691 链接:http://secunia.com/advisories/25691 来源: SECUNIA 名称: 25099 链接:http://secunia.com/advisories/25099 来源: SECUNIA 名称: 25080 链接:http://secunia.com/advisories/25080 来源: SECUNIA 名称: 24901 链接:http://secunia.com/advisories/24901 来源: SECUNIA 名称: 24777 链接:http://secunia.com/advisories/24777 来源: SECUNIA 名称: 24518 链接:http://secunia.com/advisories/24518 来源: SECUNIA 名称: 24493 链接:http://secunia.com/advisories/24493 来源: SUSE 名称: SUSE-SA:2007:029 链接:http://lists.suse.com/archive/suse-security-announce/2007-May/0001.HTML 来源: MANDRIVA 名称: MDKSA-2007:078 链接:http://frontal2.mandriva.com/security/advisories?name=MDKSA-2007:078 来源: FEDORA 名称: FEDORA-2007-336 链接:http://fedoranews.org/CMS/node/2788 来源: FEDORA 名称: FEDORA-2007-335 链接:http://fedoranews.org/CMS/node/2787

受影响实体

  • Linux Linux_kernel:2.6.20.1  

补丁

    暂无

weinxin
特别声明
本站(ZONE.CI)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
评论:0   参与:  0