Media Player Classic FLI文件处理远程缓冲区溢出漏洞

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

BUGTRAQ ID: 25437 Media Player Classic是一个免费的基于WMP的播放程序,支持几乎所有媒体格式。 Media Player Classic处理fli文件时存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞控制客户端。 在FLICSource.cpp文件中的以下函数: 690 void CFLICStream::_deltachunk() 691 { 692 BYTE* tmp = m_pFrameBuffer; //m_pFrameBuffer 的长度为m_hdr.x*m_hdr.y*32>>3, //注意m_hdr.x,m_hdr.y是从一个fli文件中读出的,是我们能控制的 693 694 WORD lines; 695 m_flic.Read(&lines, sizeof(lines)); //这里的lines是从一个fli文件中读出的 696 697 while(lines--) 698 { 699 signed short packets; 700 m_flic.Read(&packets, sizeof(packets)); // packets也是从一个fli文件中读出的 701 702 if(packets < 0) 703 { 704 if(packets&0x4000) 705 { 706 tmp += -packets * m_hdr.x; 707 lines++; 708 } 709 else 710 { 711 signed char count; 712 m_flic.Read(&count, sizeof(count)); 713 tmp[m_hdr.x-1] = (BYTE)packets; 714 } 715 } 716 else 717 { 718 BYTE* ptr = tmp; 719 720 while(packets--) 721 { 722 BYTE skip; 723 m_flic.Read(&skip, sizeof(skip)); 724 725 ptr += skip; //这里可以使指针快速移动 726 727 signed char count; 728 m_flic.Read(&count,...

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