Wu-Ftpd SockPrintf()远程栈缓冲区溢出漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1202451 漏洞类型 边界条件错误
发布时间 2003-09-22 更新时间 2007-05-18
CVE编号 CVE-2003-1327 CNNVD-ID CNNVD-200312-075
漏洞平台 N/A CVSS评分 9.3
|漏洞来源
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200312-075
|漏洞详情
Wu-ftpd是一个基于BSDftpd的FTP服务器程序,由华盛顿大学维护。Wu-ftpd包含的SockPrintf()函数在处理输入时缺少正确的边界缓冲区检查,远程攻击者可以通过这个漏洞对服务器进行缓冲区溢出攻击,可能以root用户权限在系统上执行任意指令。问题存在于SockPrintf()函数使用vsprintf()时:"infilesrc/ftpd.c"intSockPrintf(FILE*sockfp,char*format,...){va_listap;charbuf[32768];va_start(ap,format);vsprintf(buf,format,ap);va_end(ap);returnSockWrite(buf,1,strlen(buf),sockfp);}buf是字符数组(32768),vsprintf使用参数*format,然后在store()函数中:"infilesrc/ftpd.c"voidstore(char*name,char*mode,intunique){......#ifdefMAIL_ADMIN......SockPrintf(sck,"From:wu-ftpd<%s>\r\n",mailfrom);SockPrintf(sck,"Subject:Newfileuploaded:%s\r\n\r\n",name);...SockPrintf(sck,"%suploaded%sfrom%s.\r\nFilesizeis%d.\r\nPleasemovethefilewhereitbelongs.\r\n",guestpw,pathname,remotehost,byte_count);...#endif/*MAIL_ADMIN*/......}这个函数攻击者可以控制参数名,因此可以远程调用:SockPrintf(sck,"Subject:Newfileuploaded:%s\r\n\r\n",name);并触发溢出,攻击者可以通过精心构建超长的文件路径,可能以root用户权限在系统上执行任意指令。不过此漏洞不存在默认安装Wu-Ftpd服务程序中,服务器必须以'MAIL_ADMIN'选项配置才存在此漏洞。
|参考资料

来源:XF
名称:wuftp-mailadmin-sockprintf-bo(13269)
链接:http://xforce.iss.net/xforce/xfdb/13269
来源:SLACKWARE
名称:SSA:2003-259-03
链接:http://www.slackware.org/security/viewer.php?l=slackware-security&y=2003&m=slackware-security.365971
来源:BID
名称:8668
链接:http://www.securityfocus.com/bid/8668
来源:OSVDB
名称:2594
链接:http://www.osvdb.org/2594
来源:SECTRACK
名称:1007775
链接:http://securitytracker.com/id?1007775
来源:SECUNIA
名称:9835
链接:http://secunia.com/advisories/9835
来源:BUGTRAQ
名称:20030922Wu_ftpdallversions(not)vulnerability.
链接:http://archives.neohapsis.com/archives/bugtraq/2003-09/0348.html
来源:NSFOCUS
名称:5460
链接:http://www.nsfocus.net/vulndb/5460