BUGTRAQ ID: 32252
smcFanControl是在苹果机器上所使用的用于控制风扇转速的免费软件。
在/Applications/smcFanControl.app/Contents/Resources/smc文件中,smc -k输入选项无法处理超大的缓冲区,这可能导致缓冲区溢出。以下是smc.c中的有漏洞代码段:
-- snip snip --
int main(int argc, char *argv[])
{
int c;
extern char *optarg;
extern int optind, optopt, opterr;
kern_return_t result;
int op = OP_NONE;
UInt32Char_t key = "\0";
SMCVal_t val;
while ((c = getopt(argc, argv, "fhk:lrw:v")) != -1)
{
switch(c)
{
case 'f':
op = OP_READ_FAN;
break;
case 'k':
sprintf(key, optarg); // Overflow !!!
break;
-- snip snip --
在默认安装中,smc二进制程序是以suid root安装的,这就允许本地用户获得root权限提升。
Hendrik Holtmann smcFanControl 2.1.2
endrik Holtmann
----------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
<a href=http://www.macupdate.com/info.php/id/23049 target=_blank>http://www.macupdate.com/info.php/id/23049</a>
暂无评论