tag 361863 + confirmed
thanks

On Mon, Apr 10, 2006 at 10:12:29PM +0200, Stefan Fritsch wrote:
> "Unspecified vulnerability in mpg123 0.59r allows user-complicit
> attackers to trigger a segmentation fault and possibly have other
> impacts via a certain MP3 file, as demonstrated by mpg1DoS3.  NOTE:
> this issue might be related to CVE-2004-0991, but it is not clear."

Yep, thanks, I spotted it on vuln-dev already. I've investigated in the
meantime: The crash is caused by a heap overflow in
layer3.c::III_antialias(). The data written to the overflow region is
taken straight from the mp3, so it's quite likely that this bug allows
to inject arbitrary data. I have a patch that plugs the hole the hard
way with an exit()[0], effectively turning it into a DoS. Alas, it only
cures a symptom. The actual bug lies elsewhere, and I haven't managed
yet to identify the exact piece of code that fails to properly verify
the mp3 data. Anyway, just wanted to drop a note that I'm working on it.

> Version 0.59r-21 should be fixed against CVE-2004-0991 but segfaults
> with the poc-exploit. So it seems to be a different vulnerability
> than CVE-2004-0991.

CVE-2004-0991 is completely unrelated to this vulnerability.

Regards,

Daniel.

[0] If we just return from III_antialias(), mpg123 will crash a bit
    further down the road, so an exit() is the only safe bet.

---[snip]---

Not a fix, just a band-aid. Only use if you're desperate. [dk]

diff -u -r1.5 layer3.c
--- layer3.c    7 Sep 2004 13:48:58 -0000       1.5
+++ layer3.c    19 Apr 2006 16:08:39 -0000
@@ -9,6 +9,7 @@
  */ 
 
 #include <stdlib.h>
+#include <stdio.h>
 #include "mpg123.h"
 #include "huffman.h"
 
@@ -1166,6 +1167,10 @@
    }
    else {
      sblim = gr_info->maxb-1;
+     if (sblim < 0 || sblim > SBLIMIT) {
+       fprintf(stderr, "maxb invalid: %d\n", gr_info->maxb);
+       exit(1);
+     }
    }
 
    /* 31 alias-reduction operations between each pair of sub-bands */


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to