Firefly媒体服务器畸形Content-Length字段堆溢出漏洞 CVE-2008-1771 CNNVD-200804-236

7.5 AV AC AU C I A
发布: 2008-04-16
修订: 2017-08-08

Firefly是Roku SoundBridge和iTunes所使用的开源媒体服务器。 Firefly的src/webserver.c文件的ws_getpostvars()函数中存在堆溢出漏洞,如果远程攻击者向服务区发送了带有负数Content-Length值的POST请求的话就可以触发这个溢出,导致拒绝服务或执行任意指令。 以下是src/webserver.c文件中的漏洞代码: 707 int ws_getpostvars(WS_CONNINFO *pwsc) { 708 char *content_length; 709 unsigned char *buffer; 710 uint32_t length; 711 uint32_t ms; .... 715 content_length = ws_getarg(&pwsc->request_headers,\"Content-Length\"); .... 722 length=atoi(content_length); 723 ws_dprintf(L_WS_DBG,\"Thread \\%d: Post var length: \\%d\n\", 724 pwsc->threadno,length); 725 726 buffer=(unsigned char*)malloc(length+1); .... 739 if(!io_read_timeout(pwsc->hclient, buffer, &length, &ms)) { .... 757 758 if(!ws_getgetvars(pwsc,(char*)buffer)) { 759 /* assume error was set already */ 760 free(buffer); 761 ws_dprintf(L_WS_LOG,\"Could not parse get vars\n\"); 762 return FALSE; 763 } 764 765 free(buffer); 这里的相对变量为uint32_t类型的length,在715行content_length指向了用户在HTTP...

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