BUGTRAQ ID: 27221 VLC Media Player是一款免费的媒体播放器。 VLC在处理畸形格式的数据时存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞控制用户系统。 VLC所使用的旧版Xine库在modules/access/rtsp/real_sdpplin.c文件中存在堆溢出漏洞: sdpplin_t *sdpplin_parse(char *data) { sdpplin_t *desc = malloc(sizeof(sdpplin_t)); sdpplin_stream_t *stream; char *buf=malloc(3200); char *decoded=malloc(3200); ... while (data && *data) { handled=0; if (filter(data, "m=", &buf)) { ... static int filter(const char *in, const char *filter, char **out) { int flen=strlen(filter); int len; if (!in) return 0; len = (strchr(in,'\n')) ? strchr(in,'\n')-in : strlen(in); if (!strncmp(in,filter,flen)) { if(in[flen]=='"') flen++; if(in[len-1]==13) len--; if(in[len-1]=='"') len--; memcpy(*out, in+flen, len-flen+1); (*out)[len-flen]=0; return len-flen; } return 0; } 在读取RTSP会话的SDP参数时buf和decoded缓冲区会被溢出。 此外Windows版本的播放器的libaccess_realrtsp插件在处理RTSP数据时也存在堆溢出漏洞。如果在连接时发送了大量字节的话,就额可以触发这个溢出。 VideoLAN VLC Media Player <= 0.8.6b 厂商补丁: VideoLAN --------...
BUGTRAQ ID: 27221 VLC Media Player是一款免费的媒体播放器。 VLC在处理畸形格式的数据时存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞控制用户系统。 VLC所使用的旧版Xine库在modules/access/rtsp/real_sdpplin.c文件中存在堆溢出漏洞: sdpplin_t *sdpplin_parse(char *data) { sdpplin_t *desc = malloc(sizeof(sdpplin_t)); sdpplin_stream_t *stream; char *buf=malloc(3200); char *decoded=malloc(3200); ... while (data && *data) { handled=0; if (filter(data, "m=", &buf)) { ... static int filter(const char *in, const char *filter, char **out) { int flen=strlen(filter); int len; if (!in) return 0; len = (strchr(in,'\n')) ? strchr(in,'\n')-in : strlen(in); if (!strncmp(in,filter,flen)) { if(in[flen]=='"') flen++; if(in[len-1]==13) len--; if(in[len-1]=='"') len--; memcpy(*out, in+flen, len-flen+1); (*out)[len-flen]=0; return len-flen; } return 0; } 在读取RTSP会话的SDP参数时buf和decoded缓冲区会被溢出。 此外Windows版本的播放器的libaccess_realrtsp插件在处理RTSP数据时也存在堆溢出漏洞。如果在连接时发送了大量字节的话,就额可以触发这个溢出。 VideoLAN VLC Media Player <= 0.8.6b 厂商补丁: VideoLAN -------- 目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本: <a href=http://www.videolan.org/ target=_blank>http://www.videolan.org/</a>