安全研究

安全漏洞
Sun sysinfo() Kernel内存信息泄露漏洞

发布日期: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/printfriendly.do?assetkey=1-26-102343-1
        http://www.idefense.com/intelligence/vulnerabilities/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/printfriendly.do?assetkey=1-26-102343-1

浏览次数:2917
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障