Bug 1359815 (CVE-2016-6295) - CVE-2016-6295 php: Use after free in SNMP with GC and unserialize()
Summary: CVE-2016-6295 php: Use after free in SNMP with GC and unserialize()
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2016-6295
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1359837
Blocks: 1359830
TreeView+ depends on / blocked
 
Reported: 2016-07-25 13:45 UTC by Adam Mariš
Modified: 2020-01-17 15:51 UTC (History)
13 users (show)

Fixed In Version: php 5.5.36, php 5.6.24, php 7.0.9
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-09-21 10:46:33 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2016:2750 0 normal SHIPPED_LIVE Moderate: rh-php56 security, bug fix, and enhancement update 2016-11-15 16:40:02 UTC

Description Adam Mariš 2016-07-25 13:45:36 UTC
A use-after-free vulnerability in with GC and unserialize() was found.

Upstream bug:

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

Upstream patch:

http://git.php.net/?p=php-src.git;a=commit;h=cab1c3b3708eead315e033359d07049b23b147a3

CVE assignment:

http://seclists.org/oss-sec/2016/q3/137

Comment 1 Adam Mariš 2016-07-25 14:10:55 UTC
Created php tracking bugs for this issue:

Affects: fedora-all [bug 1359837]

Comment 2 Stefan Cornelius 2016-09-21 10:46:33 UTC
PHP prior to 5.4.0 does not have this class and is not affected.

Reliable remote exploitation most likely requires the use of input unserialization. Doing so it documented as being unsafe:

  http://php.net/manual/en/function.unserialize.php

  Do not pass untrusted user input to unserialize(). Unserialization can
  result in code being loaded and executed due to object instantiation and
  autoloading, and a malicious user may be able to exploit this. Use a safe,
  standard data interchange format such as JSON (via json_decode() and
  json_encode()) if you need to pass serialized data to the user.

There may be other methods, but those are probably not very suitable to exploit this remotely in a realistic scenario.

Comment 3 errata-xmlrpc 2016-11-15 11:44:08 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


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