信息来源:绿盟科技
发布日期:2006-07-22
更新日期:2006-07-24
受影响系统:
Sun Solaris 10_x86
Sun Solaris 10.0
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 19104
Solaris是一款由Sun开发和维护的商业性质UNIX操作系统。
Solaris的/usr/src/uts/common/syscall/systeminfo.c文件中存在整数溢出漏洞,可能导致内核信息泄露。
漏洞相关的代码如下:
125 if (kstr != NULL) {
126 if ((strcnt = strlen(kstr)) >= count) {
127 getcnt = count - 1;
128 if (subyte(buf + count - 1, 0) < 0)
129 return (set_errno (EFAULT));
130 } else
131 getcnt = strcnt + 1;
132 if (copyout(kstr, buf, getcnt))
133 return (set_errno(EFAULT));
134 return (strcnt + 1);
135 }
如果由用户提供的变量count为0的话,函数就会以-1长度参数调用copyout函数。由于copyout将长度参数解释为无符整数,因此就会将大量数据拷贝到用户空间,导致攻击者可以读取敏感的Kernel内存。
<*来源:iDEFENSE
链接:
http://sunsolve.sun.com/search/p ... etkey=1-26-102343-1
http://www.idefense.com/intellig ... /display.php?id=410
*>
建议:
--------------------------------------------------------------------------------
厂商补丁:
Sun
---
Sun已经为此发布了一个安全公告(Sun-Alert-102343)以及相应补丁:
Sun-Alert-102343:Potential Kernel Memory Disclosure Vulnerability in the Solaris sysinfo(2) System Call
链接:
http://sunsolve.sun.com/search/p ... etkey=1-26-102343-1