CVE-2016-10161: PHP out-of-bounds read in var_unserializer.c

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

PHP, a widely used web programming language, contains a vulnerability in how it processes certain types of data. An attacker can send specially crafted data to a web application to cause the server to crash, leading to a denial of service. This could disrupt business operations by making websites or web-based services unavailable to users.

Technologies: PHP Group PHP. Vendors: PHP Group.

Quick answers

Is CVE-2016-10161 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2016-10161 being exploited in the wild.
How severe is CVE-2016-10161?
High severity, with a CVSS score of 7.5, published 24 January 2017.
Which products and versions are affected?
PHP Group PHP before 5.6.30, 7.0.x before 7.0.15, 7.1.x before 7.1.1.
Is there a fix for CVE-2016-10161?
A patch was published on 2017-01-19: Fixed in PHP 5.6.30 Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2016-10161 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2016-10161?
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 buffer over-read vulnerability exists in PHP's `object_common1` function within `ext/standard/var_unserializer.c`. The flaw is triggered during the deserialization process when handling nested data via the `finish_nested_data` call. A remote, unauthenticated attacker can exploit this by providing maliciously crafted serialized strings to an application that uses PHP's `unserialize()` function. Successful exploitation results in an application crash (Denial of Service) due to an out-of-bounds memory read. The issue was addressed in PHP versions 5.6.30, 7.0.15, and 7.1.1.

Affected products

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

Timeline

  • 2017-01-19: patched: Fixed in PHP 5.6.30
  • 2017-01-24: disclosed: CVE published to NVD

References

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