CVE-2016-9138
PHP through 5.6.27 and 7.x through 7.0.12 mishandles property modification during __wakeup...
PHP through 5.6.27 and 7.x through 7.0.12 mishandles property modification during __wakeup processing, which allows remote attackers to cause a denial of service or possibly have unspecified other impact via crafted serialized data, as demonstrated by Exception::__toString with DateInterval::__wakeup.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
9.8
PHP through 5.6.27 and 7.x through 7.0.12 mishandles property modification during __wakeup processing, which allows remote attackers to cause a denial of service or possibly have unspecified other impact via crafted serialized data, as demonstrated by Exception::__toString with DateInterval::__wakeup.
- Record
CVE-2016-9138- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 7.5 High
AV:N/AC:L/Au:N/C:P/I:P/A:P - Weakness
- CWE-416
- Updated
- 2026-11-02
CVE List No score
PHP through 5.6.27 and 7.x through 7.0.12 mishandles property modification during __wakeup processing, which allows remote attackers to cause a denial of service or possibly have unspecified other impact via crafted serialized data, as demonstrated by Exception::__toString with DateInterval::__wakeup.
- Record
CVE-2016-9138- Updated
- 2026-11-02
EUVDEUVD-2016-9955 No score
PHP through 5.6.27 and 7.x through 7.0.12 mishandles property modification during __wakeup processing, which allows remote attackers to cause a denial of service or possibly have unspecified other impact via crafted serialized data, as demonstrated by Exception::__toString with DateInterval::__wakeup.
- Record
EUVD-2016-9955- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-645c-cwcv-g4w3
9.8
PHP through 5.6.27 and 7.x through 7.0.12 mishandles property modification during __wakeup...
PHP through 5.6.27 and 7.x through 7.0.12 mishandles property modification during __wakeup processing, which allows remote attackers to cause a denial of service or possibly have unspecified other impact via crafted serialized data, as demonstrated by Exception::__toString with DateInterval::__wakeup.
- Record
GHSA-645c-cwcv-g4w3- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-416
- Updated
- 2026-11-02
OSV
9.8
PHP through 5.6.27 and 7.x through 7.0.12 mishandles property modification during __wakeup processing, which allows remote attackers to cause a denial of service or possibly have unspecified other impact via crafted serialized data, as demonstrated by Exception::__toString with DateInterval::__wakeup.
- Record
CVE-2016-9138- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2016-9138
9.8
PHP through 5.6.27 and 7.x through 7.0.12 mishandles property modification during __wakeup processing, which allows remote attackers to cause a denial of service or possibly have unspecified other impact via crafted serialized data, as demonstrated by Exception::__toString with DateInterval::__wakeup.
- Record
UBUNTU-CVE-2016-9138- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVSUSE-SU-2017:0534-1 No score
Security update for php7
This update for php7 fixes the following security issues:
- CVE-2016-7480: The SplObjectStorage unserialize implementation in ext/spl/spl_observer.c in PHP did not verify that a key is an object, which allowed remote attackers to execute arbitrary code or cause a denial of service (uninitialized memory access) via crafted serialized data. (bsc#1019568)
- CVE-2017-5340: Zend/zend_hash.c in PHP mishandled certain cases that require large array allocations, which allowed remote attackers to execute arbitrary code or cause a denial of service (integer overflow, uninitialized memory access, and use of arbitrary destructor function pointers) via crafted serialized data. (bsc#1019570)
- CVE-2016-7479: In all versions of PHP 7, during the unserialization process, resizing the 'properties' hash table of a serialized object may have lead to use-after-free. A remote attacker may exploit this bug to gain arbitrary code execution. (bsc#1019547)
- CVE-2016-7478: Zend/zend_exceptions.c in PHP allowed remote attackers to cause a denial of service (infinite loop) via a crafted Exception object in serialized data, a related issue to CVE-2015-8876. (bsc#1019550)
- CVE-2016-10159: Integer overflow in the phar_parse_pharfile function in ext/phar/phar.c in PHP allowed remote attackers to cause a denial of service (memory consumption or application crash) via a truncated manifest entry in a PHAR archive. (bsc#1022255)
- CVE-2016-10160: Off-by-one error in the phar_parse_pharfile function in ext/phar/phar.c in PHP allowed remote attackers to cause a denial of service (memory corruption) or possibly execute arbitrary code via a crafted PHAR archive with an alias mismatch. (bsc#1022257)
- CVE-2016-10161: The object_common1 function in ext/standard/var_unserializer.c in PHP allowed remote attackers to cause a denial of service (buffer over-read and application crash) via crafted serialized data that is mishandled in a finish_nested_data call. (bsc#1022260)
- CVE-2016-10162: The php_wddx_pop_element function in ext/wddx/wddx.c in PHP 7 allowed remote attackers to cause a denial of service (NULL pointer dereference and application crash) via an inapplicable class name in a wddxPacket XML document, leading to mishandling in a wddx_deserialize call. (bsc#1022262)
- CVE-2016-10166: A potential unsigned underflow in gd interpolation functions could lead to memory corruption in the PHP gd module (bsc#1022263)
- CVE-2016-10167: A denial of service problem in gdImageCreateFromGd2Ctx() could lead to php out of memory even on small files. (bsc#1022264)
- CVE-2016-10168: A signed integer overflow in the gd module could lead to memory corruption (bsc#1022265)
- CVE-2016-9138: PHP mishandled property modification during __wakeup processing, which allows remote attackers to cause a denial of service or possibly have unspecified other impact via crafted serialized data, as demonstrated by Exception::__toString with DateInterval::__wakeup. (bsc#1008026)
- Record
SUSE-SU-2017:0534-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
php5Debian:8 From an advisory covering 4 CVEs |
before 5.6.28+dfsg-0+deb8u1, plus listed versions 5.6.11+dfsg-15.6.12+dfsg-0+deb8u15.6.12+dfsg-15.6.13+dfsg-0+deb8u15.6.13+dfsg-1 Show 32 moreShow less5.6.13+dfsg-25.6.14+dfsg-0+deb8u15.6.14+dfsg-15.6.15+dfsg-15.6.16+dfsg-15.6.16+dfsg-25.6.16+dfsg-35.6.16+dfsg-45.6.17+dfsg-0+deb8u15.6.17+dfsg-15.6.17+dfsg-35.6.18+dfsg-15.6.19+dfsg-0+deb8u15.6.19+dfsg-15.6.19+dfsg-25.6.20+dfsg-0+deb8u15.6.20+dfsg-15.6.21+dfsg-15.6.21+dfsg-25.6.22+dfsg-0+deb8u15.6.22+dfsg-15.6.22+dfsg-25.6.23+dfsg-0+deb8u15.6.23+dfsg-15.6.24+dfsg-0+deb8u15.6.24+dfsg-15.6.26+dfsg-0+deb8u15.6.26+dfsg-15.6.27+dfsg-0+deb8u15.6.7+dfsg-15.6.9+dfsg-0+deb8u15.6.9+dfsg-1 |
5.6.28+dfsg-0+deb8u1 |
php7SUSE:Linux Enterprise Module for Web and Scripting 12 From an advisory covering 13 CVEs |
before 7.0.7-35.1 | 7.0.7-35.1 |
php7SUSE:Linux Enterprise Software Development Kit 12 SP1 From an advisory covering 13 CVEs |
before 7.0.7-35.1 | 7.0.7-35.1 |
php7SUSE:Linux Enterprise Software Development Kit 12 SP2 From an advisory covering 13 CVEs |
before 7.0.7-35.1 | 7.0.7-35.1 |
php5Ubuntu:Pro:14.04:LTS |
All versions, plus listed versions 5.5.3+dfsg-1ubuntu25.5.3+dfsg-1ubuntu35.5.6+dfsg-1ubuntu15.5.6+dfsg-1ubuntu25.5.8+dfsg-2ubuntu1 Show 44 moreShow less5.5.9+dfsg-1ubuntu15.5.9+dfsg-1ubuntu25.5.9+dfsg-1ubuntu35.5.9+dfsg-1ubuntu45.5.9+dfsg-1ubuntu4.15.5.9+dfsg-1ubuntu4.25.5.9+dfsg-1ubuntu4.35.5.9+dfsg-1ubuntu4.45.5.9+dfsg-1ubuntu4.55.5.9+dfsg-1ubuntu4.65.5.9+dfsg-1ubuntu4.75.5.9+dfsg-1ubuntu4.95.5.9+dfsg-1ubuntu4.115.5.9+dfsg-1ubuntu4.125.5.9+dfsg-1ubuntu4.135.5.9+dfsg-1ubuntu4.145.5.9+dfsg-1ubuntu4.165.5.9+dfsg-1ubuntu4.175.5.9+dfsg-1ubuntu4.195.5.9+dfsg-1ubuntu4.205.5.9+dfsg-1ubuntu4.215.5.9+dfsg-1ubuntu4.225.5.9+dfsg-1ubuntu4.235.5.9+dfsg-1ubuntu4.245.5.9+dfsg-1ubuntu4.255.5.9+dfsg-1ubuntu4.265.5.9+dfsg-1ubuntu4.275.5.9+dfsg-1ubuntu4.295.5.9+dfsg-1ubuntu4.29+esm15.5.9+dfsg-1ubuntu4.29+esm25.5.9+dfsg-1ubuntu4.29+esm35.5.9+dfsg-1ubuntu4.29+esm45.5.9+dfsg-1ubuntu4.29+esm55.5.9+dfsg-1ubuntu4.29+esm65.5.9+dfsg-1ubuntu4.29+esm85.5.9+dfsg-1ubuntu4.29+esm105.5.9+dfsg-1ubuntu4.29+esm115.5.9+dfsg-1ubuntu4.29+esm125.5.9+dfsg-1ubuntu4.29+esm135.5.9+dfsg-1ubuntu4.29+esm145.5.9+dfsg-1ubuntu4.29+esm155.5.9+dfsg-1ubuntu4.29+esm165.5.9+dfsg-1ubuntu4.29+esm175.5.9+dfsg-1ubuntu4.29+esm18 |
None known |
php7.0Ubuntu:Pro:16.04:LTS |
All versions, plus listed versions 7.0.1-57.0.1-67.0.2-17.0.2-37.0.2-4 Show 45 moreShow less7.0.2-57.0.3-27.0.3-37.0.3-9ubuntu17.0.4-5ubuntu17.0.4-5ubuntu27.0.4-7ubuntu17.0.4-7ubuntu27.0.4-7ubuntu2.17.0.8-0ubuntu0.16.04.17.0.8-0ubuntu0.16.04.27.0.8-0ubuntu0.16.04.37.0.13-0ubuntu0.16.04.17.0.15-0ubuntu0.16.04.17.0.15-0ubuntu0.16.04.27.0.15-0ubuntu0.16.04.47.0.18-0ubuntu0.16.04.17.0.22-0ubuntu0.16.04.17.0.25-0ubuntu0.16.04.17.0.28-0ubuntu0.16.04.17.0.30-0ubuntu0.16.04.17.0.32-0ubuntu0.16.04.17.0.33-0ubuntu0.16.04.17.0.33-0ubuntu0.16.04.27.0.33-0ubuntu0.16.04.37.0.33-0ubuntu0.16.04.47.0.33-0ubuntu0.16.04.57.0.33-0ubuntu0.16.04.67.0.33-0ubuntu0.16.04.77.0.33-0ubuntu0.16.04.97.0.33-0ubuntu0.16.04.117.0.33-0ubuntu0.16.04.127.0.33-0ubuntu0.16.04.147.0.33-0ubuntu0.16.04.157.0.33-0ubuntu0.16.04.167.0.33-0ubuntu0.16.04.16+esm17.0.33-0ubuntu0.16.04.16+esm27.0.33-0ubuntu0.16.04.16+esm37.0.33-0ubuntu0.16.04.16+esm47.0.33-0ubuntu0.16.04.16+esm57.0.33-0ubuntu0.16.04.16+esm67.0.33-0ubuntu0.16.04.16+esm77.0.33-0ubuntu0.16.04.16+esm87.0.33-0ubuntu0.16.04.16+esm97.0.33-0ubuntu0.16.04.16+esm10 |
None known |
php7.2Ubuntu:Pro:18.04:LTS |
All versions, plus listed versions 7.2.1-1ubuntu27.2.2-1ubuntu17.2.2-1ubuntu27.2.3-1ubuntu17.2.5-0ubuntu0.18.04.1 Show 37 moreShow less7.2.7-0ubuntu0.18.04.17.2.7-0ubuntu0.18.04.27.2.10-0ubuntu0.18.04.17.2.15-0ubuntu0.18.04.17.2.15-0ubuntu0.18.04.27.2.17-0ubuntu0.18.04.17.2.19-0ubuntu0.18.04.17.2.19-0ubuntu0.18.04.27.2.24-0ubuntu0.18.04.17.2.24-0ubuntu0.18.04.27.2.24-0ubuntu0.18.04.37.2.24-0ubuntu0.18.04.47.2.24-0ubuntu0.18.04.67.2.24-0ubuntu0.18.04.77.2.24-0ubuntu0.18.04.87.2.24-0ubuntu0.18.04.97.2.24-0ubuntu0.18.04.107.2.24-0ubuntu0.18.04.117.2.24-0ubuntu0.18.04.127.2.24-0ubuntu0.18.04.137.2.24-0ubuntu0.18.04.157.2.24-0ubuntu0.18.04.167.2.24-0ubuntu0.18.04.177.2.24-0ubuntu0.18.04.17+esm17.2.24-0ubuntu0.18.04.17+esm27.2.24-0ubuntu0.18.04.17+esm37.2.24-0ubuntu0.18.04.17+esm47.2.24-0ubuntu0.18.04.17+esm57.2.24-0ubuntu0.18.04.17+esm67.2.24-0ubuntu0.18.04.17+esm77.2.24-0ubuntu0.18.04.17+esm87.2.24-0ubuntu0.18.04.17+esm97.2.24-0ubuntu0.18.04.17+esm107.2.24-0ubuntu0.18.04.17+esm117.2.24-0ubuntu0.18.04.17+esm127.2.24-0ubuntu0.18.04.17+esm137.2.24-0ubuntu0.18.04.17+esm14 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2016-9138 is a critical vulnerability (CVSS 9.8) in Php, published December 13, 2016. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 3.83%, the 90th percentile. No source names a fixed version.
References
bugs.php.net/bug.php?id=73147
openwall.com/lists/oss-security/2016/11/01/2
securityfocus.com/bid/95268
nvd.nist.gov/vuln/detail/CVE-2016-9138
github.com/advisories/GHSA-645c-cwcv-g4w3
suse.com/support/update/announcement/2017/suse-su-20170534-1
Show 31 moreShow less
bugzilla.suse.com/1008026
bugzilla.suse.com/1019547
bugzilla.suse.com/1019550
bugzilla.suse.com/1019568
bugzilla.suse.com/1019570
bugzilla.suse.com/1022219
bugzilla.suse.com/1022255
bugzilla.suse.com/1022257
bugzilla.suse.com/1022260
bugzilla.suse.com/1022262
bugzilla.suse.com/1022263
bugzilla.suse.com/1022264
bugzilla.suse.com/1022265
suse.com/security/cve/CVE-2016-10158
suse.com/security/cve/CVE-2016-10159
suse.com/security/cve/CVE-2016-10160
suse.com/security/cve/CVE-2016-10161
suse.com/security/cve/CVE-2016-10162
suse.com/security/cve/CVE-2016-10166
suse.com/security/cve/CVE-2016-10167
suse.com/security/cve/CVE-2016-10168
suse.com/security/cve/CVE-2016-7478
suse.com/security/cve/CVE-2016-7479
suse.com/security/cve/CVE-2016-7480
suse.com/security/cve/CVE-2016-9138
suse.com/security/cve/CVE-2017-5340
ubuntu.com/security/CVE-2016-9138
openwall.com/lists/oss-security/2016/11/01/7
git.php.net?p=php-src.git;a=commitdiff;h=0e6fe3a4c96be2d3e88389a5776f878021b4c59f;hp=e1709b7e588cbda71c577f6e5b701713d0c70a23
github.com/php/php-src/commit/0e6fe3a4c96be2d3e88389a5776f878021b4c59f
cve.org/CVERecord?id=CVE-2016-9138
Left out here: 12 versions. The JSON record has them.