Motion是美国苹果(Apple)公司的一套动态图片编辑工具。该工具可对文字、字母进行制作生成动画效果。 Motion的webhttpd守护程序中存在单字节溢出漏洞,远程攻击者可能利用此漏洞控制服务器。 以下是webhttpd.c中的漏洞代码: 1950 static int read_client(int client_socket, void *userdata, char *auth) .... 1954char buffer[1024] = {\'\'\0\'\'}; int length = 1024; .... 1963 int nread = 0, readb = -1; 1964 1965 nread = read (client_socket, buffer, length); 1966 1967 if (nread <= 0) { 1968 motion_log(LOG_ERR, 1, \"httpd First read\"); 1969pthread_mutex_unlock(&httpd_mutex); 1970return -1; 1971 } 1972 else { 1973char method[sizeof (buffer)]; 1974char url[sizeof (buffer)]; 1975char protocol[sizeof (buffer)]; 1976char *authentication=NULL; 1977 1978buffer[nread] = \'\'\0\'\'; 该函数从客户端读取HTTP请求,如果客户端发送了大于等于1024字节的HTTP请求的话,1978行就会向缓冲区多些出一个字节。 远程攻击者可以通过向Motion的HTTP控制接口发送超长请求导致用0字节覆盖栈缓冲区。
Motion是美国苹果(Apple)公司的一套动态图片编辑工具。该工具可对文字、字母进行制作生成动画效果。 Motion的webhttpd守护程序中存在单字节溢出漏洞,远程攻击者可能利用此漏洞控制服务器。 以下是webhttpd.c中的漏洞代码: 1950 static int read_client(int client_socket, void *userdata, char *auth) .... 1954char buffer[1024] = {\'\'\0\'\'}; int length = 1024; .... 1963 int nread = 0, readb = -1; 1964 1965 nread = read (client_socket, buffer, length); 1966 1967 if (nread <= 0) { 1968 motion_log(LOG_ERR, 1, \"httpd First read\"); 1969pthread_mutex_unlock(&httpd_mutex); 1970return -1; 1971 } 1972 else { 1973char method[sizeof (buffer)]; 1974char url[sizeof (buffer)]; 1975char protocol[sizeof (buffer)]; 1976char *authentication=NULL; 1977 1978buffer[nread] = \'\'\0\'\'; 该函数从客户端读取HTTP请求,如果客户端发送了大于等于1024字节的HTTP请求的话,1978行就会向缓冲区多些出一个字节。 远程攻击者可以通过向Motion的HTTP控制接口发送超长请求导致用0字节覆盖栈缓冲区。