Ethical Hacking Learn to find vulnerabilities before the bad guys do! Gain real world hands on hacking experience in our state of the art hacking lab. Course designed and taught by expert instructors with years of penetration testing experience. 12 student maximum in every class. Certification attempt included in every package. | Computer Forensics Training at InfoSec Institute Gain the in-demand skills of a certified computer examiner, learn to recover trace data left behind by fraud, theft, and cybercrime perpetrators. Discover the source of computer crime and abuse at your organization so that it never happens again. All of our class sizes are guaranteed to be 12 students or less to facilitate one-on-one interaction with one of our expert instructors. |

| Subject: | [Full-disclosure] [xfocus-SD-060329]MPlayer: Multiple integer overflows |
|---|---|
| Date: | Wed, 29 Mar 2006 14:12:52 +0800 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[xfocus-SD-060329]MPlayer: Multiple integer overflows
MPlayer is a media player capable of handling multiple multimedia file
formats.
XFOCUS team (http://www.xfocus.org/) had discovered
Multiple integer overflows .Those can lead to a heap-based buffer
overflow. This could result in the execution of arbitrary code with the
permissions of the user running MPlayer.
Affected packages
=================
-------------------------------------------------------------------
Package / Vulnerable / Unaffected
-------------------------------------------------------------------
media-video/mplayer <= 1.0.20060329
Description
===========
[1]in libmpdemux/asfheader.c
- -----------------------------------
218 asf_scrambling_h=buffer[0];
219 asf_scrambling_w=(buffer[2]<<8)|buffer[1];
220 asf_scrambling_b=(buffer[4]<<8)|buffer[3];
221 asf_scrambling_w/=asf_scrambling_b;
char convert to int ,int value would be negative number.
this lead to asf_descrambling() heap-based buffer overflow.
[2]in libmpdemux/aviheader.c
- -----------------------------------
218 s->wLongsPerEntry = stream_read_word_le(demuxer->stream);
219 s->bIndexSubType = stream_read_char(demuxer->stream);
220 s->bIndexType = stream_read_char(demuxer->stream);
221 s->nEntriesInUse = stream_read_dword_le(demuxer->stream);
222 *(uint32_t *)s->dwChunkId =
stream_read_dword_le(demuxer->stream);
223 stream_read(demuxer->stream, (char *)s->dwReserved, 3*4);
224 memset(s->dwReserved, 0, 3*4);
225
226 print_avisuperindex_chunk(s,MSGL_V);
227
228 msize = sizeof (uint32_t) * s->wLongsPerEntry *
s->nEntriesInUse;[ERROR]
229 s->aIndex = malloc(msize);
230 memset (s->aIndex, 0, msize);
231 s->stdidx = malloc (s->nEntriesInUse * sizeof
(avistdindex_chunk));[ERROR]
232 memset (s->stdidx, 0, s->nEntriesInUse * sizeof
(avistdindex_chunk));
233
234 // now the real index of indices
235 for (i=0; i<s->nEntriesInUse; i++) {
236 chunksize-=16;
237 s->aIndex[i].qwOffset =
stream_read_dword_le(demuxer->stream) & 0xffffffff;
238 s->aIndex[i].qwOffset |=
((uint64_t)stream_read_dword_le(demuxer->stream) & 0xffffffff)<<32;
239 s->aIndex[i].dwSize =
stream_read_dword_le(demuxer->stream);
240 s->aIndex[i].dwDuration =
stream_read_dword_le(demuxer->stream);
241 mp_msg (MSGT_HEADER, MSGL_V, "ODML (%.4s): [%d]
0x%016"PRIx64" 0x%04x %u\n",
242 (s->dwChunkId), i,
243 (uint64_t)s->aIndex[i].qwOffset,
s->aIndex[i].dwSize, s->aIndex[i].dwDuration);
244 }
[ERROR] two integer overflows lead to a heap-based buffer overflow.
NOTE: aviheader.c have another potential integer overflows.
ABOUT XCON (Ad Time ;) )
========================
XCon2006 the Fifth Information Security Conference will be held
in Beijing, China, during August 18-20, 2006. ...
more at xcon2006 call for paper
http://www.xfocus.org/documents/200603/14.html
Welcome ;)
- --
Kind Regards,
- ---
XFOCUS Security Team
http://www.xfocus.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
iD8DBQFEKiVkwhDwaF6cSWIRAppzAJ9cCFzXSN9yuU6gNqecBlGV1IaBOgCeJfGM
Vck95rxGIr86/9BZ3csUl0w=
=NdG5
-----END PGP SIGNATURE-----
_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [VulnWatch] FW: failure notice, Susan Bradley, CPA aka Ebitz - SBS Rocks [MVP] |
|---|---|
| Next by Date: | Re: [VulnWatch] FW: failure notice, Michael Evanchik |
| Previous by Thread: | [VulnWatch] FW: failure notice, Ken Pfeil |
| Next by Thread: | [Full-disclosure] Re: [MPlayer-users] [xfocus-SD-060329]MPlayer: Multiple integer overflows, Attila Kinali |
| Indexes: | [Date] [Thread] [Top] [All Lists] |