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 attackers to execute arbitrary code or cause a denial of service (uninitialized memory access) via crafted serialized data.
[
{
"signature_version": "v1",
"digest": {
"length": 2208.0,
"function_hash": "120263227596398378617375601141451063602"
},
"id": "CVE-2016-7480-40b4ffdc",
"target": {
"file": "ext/spl/spl_observer.c",
"function": "SPL_METHOD"
},
"signature_type": "Function",
"source": "https://github.com/php/php-src/commit/61cdd1255d5b9c8453be71aacbbf682796ac77d4",
"deprecated": false
},
{
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"311234878759843067834920731248114505772",
"50912414707171288631538515995604057141",
"162017028089509586153324425077756765976",
"242884483502019213952707469980360057644",
"336387103315920007587990593317693867963",
"21580564470928238072623097181749639560",
"283797390797428005224407026009247451270",
"219637822043791896869783149654081588089",
"178852092846835038102390099040886447181",
"136146387223299992562308475632779719063",
"288364703481122890929991226047229929241",
"126765909629768321856645271021163435983",
"105038064802166019778237222904298848318",
"257724883922067736173061222643725001998",
"38772639687927117305721988887639643782",
"167676080273695483373820046130328174003",
"21336750416930265615946273101896440205",
"242713924649718161698991874615444863252"
]
},
"id": "CVE-2016-7480-8f33d31a",
"target": {
"file": "ext/spl/spl_observer.c"
},
"signature_type": "Line",
"source": "https://github.com/php/php-src/commit/61cdd1255d5b9c8453be71aacbbf682796ac77d4",
"deprecated": false
}
]