oss-sec mailing list archives

Re: Heap overflow and DoS in unzip 6.0


From: Gustavo Grieco <gustavo.grieco () gmail com>
Date: Tue, 15 Sep 2015 13:10:17 -0300

2015-09-15 13:03 GMT-03:00 Stefan Cornelius <scorneli () redhat com>:

On Mon, 7 Sep 2015 08:57:20 -0300
Gustavo Grieco <gustavo.grieco () gmail com> wrote:

Hello,

Two issues were found in unzip 6.0:

* A heap overflow triggered by unzipping a file with password (e.g
unzip -p -P x sigsegv.zip)
* A denegation of service with a file that never finishes unzipping
(e.g. unzip sigxcpu.zip).

Upstream is notified. Nevertheless the test cases as well as the
valgrind and the adress sanitizer reports of the heap overflow case
are attached (as a single file) in case someone wants to provide some
feedback. These issues were found with QuickFuzz.

Regards,
Gustavo.

Can CVEs be assigned?

Thanks in advance,


AFAIK, upstream is still working on the heap overflow issue (the DoS is
fixed in the last unzip beta). In concrete, they said:

"My initial (quick) analysis suggested that the basic problem is
corrupt (unrealistic) Extra-Field sizes, which UnZip does not check well
enough. I need to verify that that is the cause, and then figure out
what to do about it. Currently, if the program sees an Extra-Field
length of, say, 0x1007, it tends to believe it, even if that's bigger
than the actual archive member's length (or perhaps even bigger than the
whole archive). If it actually tries to read data which haven't been
read, then valgrind gets upset (with good reason). At least that's what
I believe so far."



--
Stefan Cornelius / Red Hat Product Security


Current thread: