CVE Vulnerabilities

CVE-2016-7124

Deserialization of Untrusted Data

Published: Sep 12, 2016 | Modified: Apr 12, 2025
CVSS 3.x
9.8
CRITICAL
Source:
NVD
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2.x
7.5 HIGH
AV:N/AC:L/Au:N/C:P/I:P/A:P
RedHat/V2
4 MODERATE
AV:N/AC:H/Au:N/C:P/I:P/A:N
RedHat/V3
4.8 MODERATE
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
Ubuntu
LOW
root.io logo minimus.io logo echo.ai logo

ext/standard/var_unserializer.c in PHP before 5.6.25 and 7.x before 7.0.10 mishandles certain invalid objects, which allows remote attackers to cause a denial of service or possibly have unspecified other impact via crafted serialized data that leads to a (1) __destruct call or (2) magic method call.

Weakness

The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.

Affected Software

NameVendorStart VersionEnd Version
PhpPhp7.0.0 (including)7.0.0 (including)
PhpPhp7.0.1 (including)7.0.1 (including)
PhpPhp7.0.2 (including)7.0.2 (including)
PhpPhp7.0.3 (including)7.0.3 (including)
PhpPhp7.0.4 (including)7.0.4 (including)
PhpPhp7.0.5 (including)7.0.5 (including)
PhpPhp7.0.6 (including)7.0.6 (including)
PhpPhp7.0.7 (including)7.0.7 (including)
PhpPhp7.0.8 (including)7.0.8 (including)
PhpPhp7.0.9 (including)7.0.9 (including)
Red Hat Software Collections for Red Hat Enterprise Linux 6RedHatrh-php56-0:2.3-1.el6*
Red Hat Software Collections for Red Hat Enterprise Linux 6RedHatrh-php56-php-0:5.6.25-1.el6*
Red Hat Software Collections for Red Hat Enterprise Linux 6RedHatrh-php56-php-pear-1:1.9.5-4.el6*
Red Hat Software Collections for Red Hat Enterprise Linux 6.7 EUSRedHatrh-php56-0:2.3-1.el6*
Red Hat Software Collections for Red Hat Enterprise Linux 6.7 EUSRedHatrh-php56-php-0:5.6.25-1.el6*
Red Hat Software Collections for Red Hat Enterprise Linux 6.7 EUSRedHatrh-php56-php-pear-1:1.9.5-4.el6*
Red Hat Software Collections for Red Hat Enterprise Linux 7RedHatrh-php56-0:2.3-1.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7RedHatrh-php56-php-0:5.6.25-1.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7RedHatrh-php56-php-pear-1:1.9.5-4.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.2 EUSRedHatrh-php56-0:2.3-1.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.2 EUSRedHatrh-php56-php-0:5.6.25-1.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.2 EUSRedHatrh-php56-php-pear-1:1.9.5-4.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.3 EUSRedHatrh-php56-0:2.3-1.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.3 EUSRedHatrh-php56-php-0:5.6.25-1.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.3 EUSRedHatrh-php56-php-pear-1:1.9.5-4.el7*
Php5Ubuntuesm-infra-legacy/trusty*
Php5Ubuntuprecise*
Php5Ubuntutrusty*
Php5Ubuntutrusty/esm*
Php5Ubuntuupstream*
Php7.0Ubuntudevel*
Php7.0Ubuntuesm-infra/xenial*
Php7.0Ubuntuupstream*
Php7.0Ubuntuxenial*

Potential Mitigations

  • Make fields transient to protect them from deserialization.
  • An attempt to serialize and then deserialize a class containing transient fields will result in NULLs where the transient data should be. This is an excellent way to prevent time, environment-based, or sensitive variables from being carried over and used improperly.

References