Bug 1174851 (CVE-2014-8140) - CVE-2014-8140 unzip: out-of-bounds write issue in test_compr_eb() (oCERT-2014-011)
Summary: CVE-2014-8140 unzip: out-of-bounds write issue in test_compr_eb() (oCERT-2014...
Alias: CVE-2014-8140
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact: Frantisek Sumsal
Depends On: 1191118 1196124 1196125 1196126 1196127
Blocks: 1174865
TreeView+ depends on / blocked
Reported: 2014-12-16 15:35 UTC by Tomas Hoger
Modified: 2023-09-07 18:39 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
An integer underflow flaw, leading to a buffer overflow, was found in the way unzip uncompressed certain extra fields of a file. A specially crafted Zip archive could cause unzip to crash when the archive was tested with unzip's '-t' option.
Clone Of:
Last Closed: 2015-03-18 21:11:16 UTC

Attachments (Terms of Use)
Upstream patch (1.14 KB, patch)
2014-12-16 15:42 UTC, Tomas Hoger
no flags Details | Diff

System ID Private Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 1360443 0 None None None Never
Red Hat Product Errata RHSA-2015:0700 0 normal SHIPPED_LIVE Moderate: unzip security update 2015-03-18 22:58:14 UTC

Description Tomas Hoger 2014-12-16 15:35:58 UTC
oCERT reports an unzip flaw discovered by Michele Spagnuolo, Google Security Team:

The write error shows a problem in extract.c:test_compr_eb(), which was not expecting an uncompressed size of zero for an EF_NTSD extra block.

Proposed changes:


extract.c:test_compr_eb() gets a new validity test.


Red Hat would like to thank oCERT for reporting these issues. oCERT acknowledges Michele Spagnuolo of the Google Security Team as the original reporter.

Comment 2 Tomas Hoger 2014-12-16 15:42:25 UTC
Created attachment 969621 [details]
Upstream patch

This seems to be the upstream fix mentioned in the comment 0.

Comment 4 Huzaifa S. Sidhpurwala 2014-12-22 15:49:05 UTC
External Reference:


Comment 5 Tomas Hoger 2015-02-10 12:36:54 UTC
Upstream patch in comment 2 does not address all related problems completely.  See CVE-2014-9636 / bug 1184985 to address issues identified by the oCERT-2014-011 test case.

The problem the patch in comment 2 addresses is an uncompressed data size of 0 specified in certain extra field blocks (such as EF_NTSD mentioned in the report, but other types were affected as well).  If a zip file indicated that uncompressed data size was 0, unzip skipped the check to ensure that there were still enough data in the current extra field block to hold compression data header.  When using STORE compression (i.e. data stored uncompressed), this led to integer underflow, resulting in memcpy() getting called with excessively large size argument, causing it to over-read and over-write input and output buffers and crash.  This is unlikely to allow code execution.

Affected code is only reached when running unzip in the test mode (unzip -t), but not when extracting zip archives.

Comment 6 Tomas Hoger 2015-02-10 13:37:08 UTC
Created unzip tracking bugs for this issue:

Affects: fedora-all [bug 1191118]

Comment 8 Fedora Update System 2015-02-16 03:25:45 UTC
unzip-6.0-20.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 9 Fedora Update System 2015-02-23 23:25:19 UTC
unzip-6.0-17.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 10 Martin Prpič 2015-02-25 10:25:26 UTC

Red Hat Enterprise Linux 5 is now in Production 3 Phase of the support and maintenance life cycle. This has been rated as having Low security impact and is not currently planned to be addressed in future updates in Red Hat Enterprise Linux 5. For additional information, refer to the Red Hat Enterprise Linux Life Cycle: https://access.redhat.com/support/policy/updates/errata/

Comment 13 errata-xmlrpc 2015-03-18 18:59:13 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6
  Red Hat Enterprise Linux 7

Via RHSA-2015:0700 https://rhn.redhat.com/errata/RHSA-2015-0700.html

Note You need to log in before you can comment on or make changes to this bug.