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.
{ "vanir_signatures": [ { "id": "CVE-2016-7480-40b4ffdc", "digest": { "length": 2208.0, "function_hash": "120263227596398378617375601141451063602" }, "target": { "function": "SPL_METHOD", "file": "ext/spl/spl_observer.c" }, "source": "https://github.com/php/php-src/commit/61cdd1255d5b9c8453be71aacbbf682796ac77d4", "signature_version": "v1", "deprecated": false, "signature_type": "Function" }, { "id": "CVE-2016-7480-8f33d31a", "digest": { "line_hashes": [ "311234878759843067834920731248114505772", "50912414707171288631538515995604057141", "162017028089509586153324425077756765976", "242884483502019213952707469980360057644", "336387103315920007587990593317693867963", "21580564470928238072623097181749639560", "283797390797428005224407026009247451270", "219637822043791896869783149654081588089", "178852092846835038102390099040886447181", "136146387223299992562308475632779719063", "288364703481122890929991226047229929241", "126765909629768321856645271021163435983", "105038064802166019778237222904298848318", "257724883922067736173061222643725001998", "38772639687927117305721988887639643782", "167676080273695483373820046130328174003", "21336750416930265615946273101896440205", "242713924649718161698991874615444863252" ], "threshold": 0.9 }, "target": { "file": "ext/spl/spl_observer.c" }, "source": "https://github.com/php/php-src/commit/61cdd1255d5b9c8453be71aacbbf682796ac77d4", "signature_version": "v1", "deprecated": false, "signature_type": "Line" } ] }