ArchLinux: 201701-28: php: multiple issues
Summary
- CVE-2016-9935 (denial of service)
The php_wddx_push_element function in ext/wddx/wddx.c in PHP before
5.6.29 and 7.x before 7.0.14 allows remote attackers to cause a denial
of service (out-of-bounds read and memory corruption) or possibly have
unspecified other impact via an empty boolean element in a wddxPacket
XML document.
- CVE-2016-9936 (arbitrary code execution)
The unserialize implementation in ext/standard/var.c in PHP 7.x before
7.0.14 allows remote attackers to cause a denial of service (use-after-
free) or possibly execute arbitrary code via crafted serialized data.
- CVE-2017-5340 (arbitrary code execution)
It was found that PHP uses uninitialized memory during calls to
`unserialize()`. The payload supplied to `unserialize()` may control
this uninitialized memory region and thus may be used to trick PHP into
operating on faked objects and calling attacker controlled destructor
function pointers, effectively allowing arbitrary code execution via
specially crafted serialized data.
Resolution
Upgrade to 7.1.1-0.
# pacman -Syu "php>=7.1.1-0"
The problems have been fixed upstream in version 7.1.1.
References
https://www.openwall.com/lists/oss-security/2016/12/12/2 https://bugs.php.net/bug.php?id=73631 https://github.com/php/php-src/commit/66fd44209d5ffcb9b3d1bc1b9fd8e35b485040c0 https://seclists.org/oss-sec/2016/q4/658 https://github.com/php/php-src/commit/b2af4e8868726a040234de113436c6e4f6372d17 https://bugs.php.net/bug.php?id=72978 https://bugs.php.net/bug.php?id=73832 https://security.archlinux.org/CVE-2016-9935 https://security.archlinux.org/CVE-2016-9936 https://security.archlinux.org/CVE-2017-5340
Workaround
None.