CVE-2016-10162: PHP WDDX NULL pointer dereference in php_wddx_pop_element

CVE-2016-10162 · Severity: high · CVSS 7.5 · Published 2017-01-24

PHP is a widely used programming language for web development. A vulnerability in its WDDX data exchange component allows an attacker to crash a web application by sending a specially crafted XML document. This results in a denial of service, potentially taking websites or web services offline.

Technologies: PHP Group PHP. Vendors: PHP Group.

Quick answers

Is CVE-2016-10162 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2016-10162 being exploited in the wild.
How severe is CVE-2016-10162?
High severity, with a CVSS score of 7.5, published 24 January 2017.
Which products and versions are affected?
PHP Group PHP 7.0.x before 7.0.15, 7.1.x before 7.1.1.
Is there a fix for CVE-2016-10162?
A patch was published on 2017-01-19: PHP 7.0.15 and 7.1.1 released Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2016-10162 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2016-10162?
Check whether you run PHP Group PHP at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

A NULL pointer dereference exists in the php_wddx_pop_element function within ext/wddx/wddx.c. The vulnerability is triggered during the deserialization of a WDDX packet when an inapplicable class name (such as an interface or abstract class) is provided. The object_init_ex function fails to instantiate these types and returns a NULL object pointer, which is subsequently mishandled by the wddx_deserialize call. A remote, unauthenticated attacker can exploit this by submitting a malicious XML document to a PHP script that processes WDDX data, leading to an immediate process crash. This issue was resolved in PHP versions 7.0.15 and 7.1.1.

Affected products

  • PHP Group PHP 7.0.x before 7.0.15, 7.1.x before 7.1.1

Timeline

  • 2016-12-29: disclosed: Bug reported to PHP bug tracker
  • 2017-01-24: advisory: NVD published the CVE record
  • 2017-01-19: patched: PHP 7.0.15 and 7.1.1 released

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.