Wu-Ftpd SockPrintf()远程栈缓冲区溢出漏洞 CVE-2003-1327 CNNVD-200312-075

9.3 AV AC AU C I A
发布: 2003-12-31
修订: 2017-07-29

Wu-ftpd是一个基于BSD ftpd的FTP服务器程序,由华盛顿大学维护。 Wu-ftpd包含的SockPrintf()函数在处理输入时缺少正确的边界缓冲区检查,远程攻击者可以通过这个漏洞对服务器进行缓冲区溢出攻击,可能以root用户权限在系统上执行任意指令。 问题存在于SockPrintf()函数使用vsprintf()时: \"in file src/ftpd.c\" int SockPrintf(FILE *sockfp, char *format,...) { va_list ap; char buf[32768]; va_start(ap, format); vsprintf(buf, format, ap); va_end(ap); return SockWrite(buf, 1, strlen(buf), sockfp); } buf是字符数组(32768),vsprintf使用参数*format,然后在store()函数中: \"in file src/ftpd.c\" void store(char *name, char *mode, int unique) { ... ... #ifdef MAIL_ADMIN ... ... SockPrintf(sck, \"From: wu-ftpd <\\%s>\r\n\", mailfrom); SockPrintf(sck, \"Subject: New file uploaded: \\%s\r\n\r\n\", name); ... SockPrintf(sck, \"\\%s uploaded \\%s from \\%s.\r\nFile size is \\%d.\r\n Please move the file where it belongs.\r\n\",guestpw, pathname, remotehost, byte_count); ... #endif /* MAIL_ADMIN */ ... ... } 这个函数攻击者可以控制参数名,因此可以远程调用: SockPrintf(sck, \"Subject: New file uploaded: \\%s\r\n\r\n\", name);...

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