Bug 1332454 (CVE-2016-4343)

Summary: CVE-2016-4343 php: Uninitialized pointer in phar_make_dirstream()
Product: [Other] Security Response Reporter: Adam Mariš <amaris>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: abhgupta, dmcphers, fedora, hkim, jialiu, jokerman, jorton, kseifried, lmeyer, mdshaikh, mmaslano, mmccomas, rcollet, tiwillia, webstack-team
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: php 5.6.18, php 7.0.3 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-10-12 12:58:50 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: 1332455    
Bug Blocks: 1305564    

Description Adam Mariš 2016-05-03 09:01:53 UTC
A missing variable initialization in phar_make_dirstream() and not properly checking return values when parsing malicious .tar file allows an attacker, that could control stack frame at the moment before calling zend_hash_get_current_key_ex(), to take over variables str_key and key_len and could cause a DoS or has other impact.

Upstream bug:

https://bugs.php.net/bug.php?id=71331

Upstream patch:

http://git.php.net/?p=php-src.git;a=commitdiff;h=9649ca1630433473a307d015ba1a79a4a7a779f5

CVE assignment:

http://seclists.org/oss-sec/2016/q2/163

Comment 1 Adam Mariš 2016-05-03 09:02:31 UTC
Created php tracking bugs for this issue:

Affects: fedora-all [bug 1332455]

Comment 3 Tomas Hoger 2016-10-12 12:58:50 UTC
This issue is triggered by a specially-crafted Tar format Phar files.  Phar files are distribution format for PHP applications (similar to Java Jar format) and their content is typically executed on the server.  Malicious Phar archive can therefore execute code on the system without exploiting any parsing issues.

If Phar extension is not used, it can be disabled by commenting out the following line:

  extension=phar.so

in /etc/php.d/phar.ini to prevent loading of the extension.

Comment 4 errata-xmlrpc 2016-11-15 11:51:30 UTC
This issue has been addressed in the following products:

  Red Hat Software Collections for Red Hat Enterprise Linux 6
  Red Hat Software Collections for Red Hat Enterprise Linux 6.7 EUS
  Red Hat Software Collections for Red Hat Enterprise Linux 7
  Red Hat Software Collections for Red Hat Enterprise Linux 7.2 EUS
  Red Hat Software Collections for Red Hat Enterprise Linux 7.3 EUS

Via RHSA-2016:2750 https://rhn.redhat.com/errata/RHSA-2016-2750.html