Sun Solaris SIOCSIPMSFILTER IOCTL请求整数溢出漏洞 CVE-2008-2710 CNNVD-200806-223

7.2 AV AC AU C I A
发布: 2008-06-16
修订: 2018-10-30

Solaris是一款由Sun开发和维护的商业性质UNIX操作系统。 Solaris的内核没有正确的处理SIOCSIPMSFILTER IOCTL请求,本地攻击者可以利用这个漏洞以内核级权限执行任意指令。 以下是inet/ip/ip_multi.c中的漏洞代码: static int ip_set_srcfilter(conn_t *connp, struct group_filter *gf, struct ip_msfilter *imsf, ipaddr_t grp, ipif_t *ipif, boolean_t isv4mapped) { [...] int i, err, insrcs, infmode, new_fmode; <-- [1] [...] insrcs = imsf->imsf_numsrc; <-- [2] [...] /* Make sure we can handle the source list */ if (insrcs > MAX_FILTER_SIZE) <-- [3] return (ENOBUFS); [...] fp->sl_numsrc = insrcs; <-- [4] ilg->ilg_filter = fp; <-- [5] [...] l_copy(ilg->ilg_filter, new_filter);<-- [6] [...] 在[2]处将用户所提供的imsf->imsf_numsrc值分配给了insrcs,imsf->imsf_numsrc变量为无符int型,而insrcs为有符int型。如果用户所提供的imsf->imsf_numsrc值为很大的整数的话,insrcs就可能成为负值。 在netinet/in.h文件中: struct ip_msfilter { struct in_addr imsf_multiaddr; struct in_addr imsf_interface; uint32_t imsf_fmode; uint32_t imsf_numsrc; <-- [7] struct in_addr imsf_slist[1]; };...

0%
暂无可用Exp或PoC
当前有3条受影响产品信息