CVE-2016-7480

The SplObjectStorage unserialize implementation in ext/spl/spl_observer.c in PHP before 7.0.12 does not verify that a key is an object, which allows remote…

published January 11, 2017

CVSS
—
EPSS
42%
Percentile
98.7
In the wild
Unconfirmed
What it is

⚡ An unserialize oversight in PHP lets attackers slip in arbitrary code—like a chef accepting any ingredient without checking its origin! 🔥 Think of a restaurant where a chef unwittingly uses spoiled ingredients because he never checks their source. In the same way, this vulnerability allows PHP to accept serialized data that might not be what it seems, leading to potential chaos in the application. An attacker can exploit this flaw to execute arbitrary code, which could result in anything from a simple denial of service (the app crashing) to a full system takeover. This vulnerability could leave your application vulnerable and your data at risk, making it crucial to address it promptly.

Put simply

Think of a restaurant where a chef unwittingly uses spoiled ingredients because he never checks their source. In the same way, this vulnerability allows PHP to accept serialized data that might not be what it seems, leading to potential chaos in the application. The flaw lies in the SplObjectStorage unserialize implementation in PHP prior to version 7.0.12, where it fails to verify that a key is indeed an object. This means crafted serialized data can be processed improperly, leading to unexpected behaviors or exploits.

What to do

An attacker can exploit this flaw to execute arbitrary code, which could result in anything from a simple denial of service (the app crashing) to a full system takeover. This vulnerability could leave your application vulnerable and your data at risk, making it crucial to address it promptly. To remediate this vulnerability, immediately update your PHP version to 7.0.12 or later. Also, consider reviewing your code for any unserialize calls that handle external data, ensuring they include necessary validation checks. You've got this! By following these steps, you’ll enhance your application’s security in no time! 🛡️

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.41558 · 98.7th percentile
Published
2017-01-11T06:45Z
EPSS history
Timeline
  • 11 JAN 06:45Z
    The SplObjectStorage unserialize implementation in ext/spl/spl_observer.c in PHP before 7.0.12 does not verify that a key is an object, which allows remote…
    cvelistv5