Type confusion in PHP - CVE-2015-4148
Published: November 27, 2018 / Updated: April 7, 2020
Vulnerability identifier: #VU16123
CSH Severity: Low
CVSS v4: 6.9 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N]
CVE-ID: CVE-2015-4148
CWE-ID: CWE-843
Exploitation vector: Remote access
Exploit availability:
Public exploit is available
Vulnerability details
The vulnerability allows a remote attacker to execute arbitrary code on the target system.
The weakness exists due to type confusion in do_soap_call function in ext/soap/soap.c in PHP before 5.4.39, 5.5.x before 5.5.23, and 5.6.x before 5.6.7 does not verify that the uri property is a string. A remote attacker can trigger memory corruption and obtain sensitive information by providing crafted serialized data with an int data type.
The weakness exists due to type confusion in do_soap_call function in ext/soap/soap.c in PHP before 5.4.39, 5.5.x before 5.5.23, and 5.6.x before 5.6.7 does not verify that the uri property is a string. A remote attacker can trigger memory corruption and obtain sensitive information by providing crafted serialized data with an int data type.
Affected software
PHP
php5 (Ubuntu package)
SUSE Linux
php5 (Ubuntu package)
SUSE Linux
How to mitigate CVE-2015-4148
Install update from vendor's website.
PHP - addressed in versions 5.4.39, 5.5.23, 5.6.7
php5 (Ubuntu package) - addressed in versions 5.3.10-1ubuntu3.19, 5.5.9+dfsg-1ubuntu4.11, 5.5.12+dfsg-2ubuntu4.6, 5.6.4+dfsg-4ubuntu6.2
php5 (Ubuntu package) - addressed in versions 5.3.10-1ubuntu3.19, 5.5.9+dfsg-1ubuntu4.11, 5.5.12+dfsg-2ubuntu4.6, 5.6.4+dfsg-4ubuntu6.2