SecurityReason.com - Our Reason is

Security

Register | Forget Password | Login
SecurityReason
WLB
Services
RSS
Corporate
Note

If you have found a vulnerability, please send to our SecurityAlert Database :
secalert()securityreason()com

Also if you have new ( 0-day ) exploit, please send to our ExploitAlert Archive :
exploit()securityreason()com

Home arrow SecurityAlert Database

Arrow  Topic :

VLC 0.8.6i tta File Parsing Heap Overflow PoC


Arrow  SecurityAlert : 4170
Arrow  CVE : CVE-2008-3732
Arrow  CWE : CWE-189
Arrow  SecurityRisk : High  Security Risk High  (About)
Arrow  Remote Exploit : Yes
Arrow  Local Exploit : No
Arrow  Victim interaction required : Yes
Arrow  Exploit Available : No
Arrow  Credit : g_
Arrow  Published : 22.08.2008

Arrow  Affected Software : VideoLAN, VLC Media Player, 0.8.6i



Arrow  Advisory Content :  

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

- - Orange Bat advisory -

Name : VLC 0.8.6i
Class : Heap overflow
Published : 2008-08-16
Credit : g_ (g_ # orange-bat # com)

- - Details -


\modules\demux\tta.c

#define TTA_FRAMETIME 1.04489795918367346939
.
.
.
int i_seektable_size = 0, i;
.
.
.
/* Read the metadata */
es_format_Init( &fmt, AUDIO_ES, VLC_FOURCC( 'T', 'T', 'A', '1' ) );
fmt.audio.i_channels = GetWLE( &p_header[6] );
fmt.audio.i_bitspersample = GetWLE( &p_header[8] );
[1] fmt.audio.i_rate = GetDWLE( &p_header[10] );

p_sys->i_datalength = GetDWLE( &p_header[14] );
p_sys->i_framelength = TTA_FRAMETIME * fmt.audio.i_rate;

[2] p_sys->i_totalframes = p_sys->i_datalength / p_sys->i_framelength +
((p_sys->i_datalength % p_sys->i_framelength) ? 1 :
0);
p_sys->i_currentframe = 0;

[3] i_seektable_size = sizeof(uint32_t)*p_sys->i_totalframes;
p_seektable = (uint8_t *)malloc( i_seektable_size );
stream_Read( p_demux->s, p_seektable, i_seektable_size );
p_sys->pi_seektable = (uint32_t *)malloc(i_seektable_size);

for( i = 0; i < p_sys->i_totalframes; i++ )
[4] p_sys->pi_seektable[i] = GetDWLE( &p_seektable[i*4] );


[1] - we can set i_rate to 1
[2] - i_framelength = 1 (look for constant definition, it's ~1),
so i_totalframes = i_datalength
[3] - because we can set i_datalength to 2^30 and bacause
i_totalframes = i_datalength, multiplication will overflow
[4] - i_totalframes is positive (highest bit not set), so this loop will
spin 2^30 times, overwriting everything with data from the heap.
unfortunate thing is we have little control over what is written.

- - Proof of concept -


http://www.orange-bat.com/adv/2008/vlc.dos.tta

- - PGP -

All advisories from Orange Bat are signed. You can find our public
key here: http://www.orange-bat.com/g_.asc

- - Disclaimer -

This document and all the information it contains is provided "as is",
without any warranty. Orange Bat is not responsible for the
misuse of the information provided in this advisory. The advisory is
provided for educational purposes only.

Permission is hereby granted to redistribute this advisory, providing
that no changes are made and that the copyright notices and
disclaimers remain intact.

(c) 2008 www.orange-bat.com


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (MingW32)

iEYEARECAAYFAkimwoYACgkQIUHRVUfOLgW8hgCgmPcqqIlcLQpmH8u6wB2fVOHs
Zv4AoNNYWhzdknZOnPuChysoak1rMRsx
=4K3f
-----END PGP SIGNATURE-----



Arrow  References :

http://securityreason.com/expldownload/1/4492/1 (Exploit)
http://xforce.iss.net/xforce/xfdb/44510
http://www.securityfocus.com/bid/30718
http://www.orange-bat.com/adv/2008/adv.08.16.txt
http://www.milw0rm.com/exploits/6252
http://www.frsirt.com/english/advisories/2008/2394
http://secunia.com/advisories/31512




Arrow  Feedback :

If you have additional information or notice any errors regarding this security advisory, please use contact form or email us at info()securityreason()com.
Alert

libc/fnmatch(3) DoS

Security Risk Medium- 2011-05-13

Allow attacker to denial of service apache 2.2.17 server

Apache RSS Apache Alert

» Apache HTTP Server Denial
   of Service Vulnerability

» Multiple Vendors
   libc/fnmatch(3) DoS (incl
   apache poc)

» Apache Continuum
   cross-site scripting
   vulnerability

» Apache Tomcat DoS
   Vulnerability

PHP RSS PHP Alert

» PHP Hashtables Denial of
   Service

» PHP 5.3.6 multiple null
   pointer dereference

» PHP 5.3.6 ZipArchive
   invalid use glob(3)

» libzip 0.9.3
   _zip_name_locate NULL
   Pointer Dereference (incl
   PHP 5.3.5)

ADT

Protect your family and valuables with Home Security Systems

Copyright © SecurityReason.com. All Rights Reserved.