Bug 1305559 - php: Type confusion vulnerability in WDDX packet deserialization
Summary: php: Type confusion vulnerability in WDDX packet deserialization
Keywords:
Status: CLOSED WONTFIX
Alias: None
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: 1305565
Blocks: 1305564
TreeView+ depends on / blocked
 
Reported: 2016-02-08 15:06 UTC by Adam Mariš
Modified: 2019-09-29 13:44 UTC (History)
12 users (show)

Fixed In Version: php 5.6.18, php 5.5.32
Clone Of:
Environment:
Last Closed: 2017-09-07 21:04:22 UTC
Embargoed:


Attachments (Terms of Use)

Description Adam Mariš 2016-02-08 15:06:17 UTC
A type confusion vulnerability in WDDX packet deserialization was reported.

Upstream bug:

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

Upstream patch:

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

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

Affects: fedora-all [bug 1305565]

Comment 2 Tomas Hoger 2017-09-07 21:04:22 UTC
This issue happens when untrusted input is unserialized.  Doing so it documented as being unsafe:

  http://php.net/manual/en/function.wddx-deserialize.php

  Warning
  Do not pass untrusted user input to wddx_deserialize(). 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.

Affected code is part of the WDDX extension.  In Red Hat products, this extension is packaged in the php-xml subpackages.  Systems without php-xml installed can not be affected by this issue.  If system requires one of the other extensions packaged in php-xml packages, but not the WDDX extension, it is possible to prevent PHP from loading the extension by commenting out the following line in the wddx.ini configuration file:

  extension=wddx.so

The configuration file can be found in the php.d configuration directory.  Depending on whether PHP packages from Red Hat Enterprise Linux or Red Hat Software Collections are used, php.d directory can be found in one of the following locations: /etc, /opt/rh/<collection>/root/etc/, or /etc/opt/rh/<collection>/.


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