Stack-based buffer overflow in tmsnc... CVE-2008-2828 CNNVD-200806-317

10.0 AV AC AU C I A
发布: 2008-06-23
修订: 2017-08-08

TMSNC是用C编写的基于文本的MSN客户端。 TMSNC在处理畸形结构的消息数据时存在漏洞,如果远程攻击者向TMSNC发送了畸形的UBX消息消息的话,就可能触发缓冲区溢出,导致执行任意指令。 UBX是类似于UUX的MSN协议,用于通知好友所发生的变化。UBX协议命令的第一个参数为更改了个人消息或当前正在播放歌曲的联络人的护照地址,第二个参数为负载的长度,句法如下: >>> UBX passport@hotmail.com xxx\r\n <Data><PSM>My Personal Message</PSM><CurrentMedia></CurrentMedia></Data> UBX协议是由tmsnc的core_net.c文件中以下代码解析的: 727 int 728 MSN_server_handle(session, message, message_len) 729MSN_session *session; 730char *message; 731int message_len; 732 { 733 time_t tm; 734 char buf[512], md_hex[48]; ... while (getline(buf, sizeof(buf) - 1, session->sd) > 0) { ... 833} else if (strncmp(buf, "UBX", 3) == 0) { 834 /* 835;* we read the payload of this command 836*/ 837/* 838* but do not do anything with it 839*/ 840if ((ptr[1] = (char *)split(buf, ' ', 1)) == NULL ||//by gfhuang 841 (ptr[0] = (char *)split(buf, ' ', 2)) == NULL) { 842strncpy(message, "Couldn't parse UBX", message_len - 1); 843return -1; 844 } 845 i = atoi(ptr[0]); 846; free(ptr[0]); 847 848if (read(session->sd, buf,...

0%
暂无可用Exp或PoC
当前有1条受影响产品信息