PHP 7.0.x < 7.0.4 Multiple Vulnerabilities

critical Web App Scanning Plugin ID 98850

Synopsis

PHP 7.0.x < 7.0.4 Multiple Vulnerabilities

Description

According to its banner, the version of PHP running on the remote web server is 7.0.x prior to 7.0.4. It is, therefore, affected by multiple vulnerabilities :

- A type confusion error exists in file ext/soap/php_http.c in the make_http_soap_request() function when handling cookie data. An unauthenticated, remote attacker can exploit this to execute arbitrary code. (CVE-2016-3185)

- Multiple integer overflow conditions exist in file ext/xml/xml.c in the xml_utf8_encode functions due to improper validation of user-supplied input. An unauthenticated, remote attacker can exploit these to cause a heap-based buffer overflow, resulting in a denial of service or the execution of arbitrary code. (CVE-2016-4344)

- An integer overflow condition exists in the php_filter_encode_url() function due to improper validation of user-supplied input. A remote attacker can exploit this to cause a heap-based buffer overflow, resulting in a denial of service or th execution of arbitrary code. (CVE-2016-4345)

- An overflow condition exists in the xml_utf8_encode functions due to improper validation of user-supplied input. A remote attacker can exploit this to cause a heap-based buffer overflow, resulting in a denial of service condition or the execution of arbitrary code. (CVE-2016-4346)

- A flaw exists when handling the third call while running function.forward-static-call.php. An unauthenticated, remote attacker can exploit this to cause a denial of service by crashing the interpreter.

- An integer overflow condition exists in file ext/standard/string.c in the php_implode() function due to improper validation of user-supplied input. An unauthenticated, remote attacker can exploit this to cause a heap-based buffer overflow, resulting in a denial of service or the execution of arbitrary code.

- An integer overflow condition exists in file ext/standard/string.c in the zend_string_alloc() function due to improper validation of user-supplied input. An unauthenticated, remote attacker can exploit this to execute arbitrary code.

- A stack corruption issue exists when handling certain Magento2 commands that allows an unauthenticated, remote attacker to cause a denial of service.

- A flaw exists in file sapi/cli/php_cli_server.c due to the built-in HTTP server not properly restricting file requests. An unauthenticated, remote attacker can exploit this to access arbitrary files.

- A use-after-free error exists in Zend Opcache when updating cached directory names that have been cached in the current working directory. An unauthenticated, remote attacker can exploit this to deference already freed memory, resulting in the execution of arbitrary code.

- A NULL pointer dereference flaw exists in file ext/zip/php_zip.c in the Zip::ExtractTo() method that allows an unauthenticated, remote attacker to cause a denial of service.

Note that the scanner has not tested for these issues but has instead relied only on the application's self-reported version number.

Solution

Upgrade to PHP version 7.0.4 or later.

See Also

http://php.net/ChangeLog-7.php#7.0.4

Plugin Details

Severity: Critical

ID: 98850

Type: remote

Published: 1/9/2019

Updated: 3/14/2023

Scan Template: api, basic, full, pci, scan

Risk Information

VPR

Risk Factor: Medium

Score: 6.7

CVSS v2

Risk Factor: High

Base Score: 7.5

Vector: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS Score Source: CVE-2016-4344

CVSS v3

Risk Factor: Critical

Base Score: 9.8

Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

CVSS Score Source: CVE-2016-4344

Vulnerability Information

CPE: cpe:2.3:a:php:php:*:*:*:*:*:*:*:*

Exploit Available: true

Exploit Ease: Exploits are available

Patch Publication Date: 5/16/2016

Vulnerability Publication Date: 5/16/2016

Reference Information

CVE: CVE-2016-3185, CVE-2016-4344, CVE-2016-4345, CVE-2016-4346

BID: 84307, 84351