Bug 1305543 (CVE-2016-2554)

Summary: CVE-2016-2554 php: buffer overflow in handling of long link names in tar phar archives
Product: [Other] Security Response Reporter: Adam Mariš <amaris>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: abhgupta, dmcphers, fedora, jialiu, jokerman, jorton, kseifried, lmeyer, 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 5.5.32 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-08-22 19:59:34 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 1305565    
Bug Blocks: 1305564    

Description Adam Mariš 2016-02-08 14:41:24 UTC
A stack overflow vulnerability was reported that may occur when decompressing tar archives due to phar_tar_writeheaders() potentially copying non-terminated linknames from entries parsed by phar_parse_tarfile().

Upstream bug:

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

Upstream patch:

https://git.php.net/?p=php-src.git;a=commit;h=07c7df68bd68bbe706371fccc77c814ebb335d9e

Comment 1 Adam Mariš 2016-02-08 15:13:00 UTC
Created php tracking bugs for this issue:

Affects: fedora-all [bug 1305565]

Comment 2 Andrej Nemec 2016-02-25 10:24:37 UTC
CVE assignment:

http://seclists.org/oss-sec/2016/q1/428

Comment 3 Tomas Hoger 2016-08-22 19:59:34 UTC
This is a stack-based buffer overflow, not stack overflow as indicated by the upstream bug summary.  In PHP packages included in Red Hat products, this issue is mitigated by the use of FORTIFY_SOURCE.  This protection causes the overflow to be detected before it actually happens and terminates program execution, limiting impact to crash of the PHP interpreter.

Note that 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 phar.ini to prevent loading of the extension.

Given the limited impact of this issue, there's currently no plan to backport the fix to the versions of PHP as shipped in Red Hat products.

Comment 5 errata-xmlrpc 2016-11-15 11:49:31 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