PHP 7.x < 7.0.2 Multiple Vulnerabilities

high Nessus Plugin ID 88680

Synopsis

The remote web server uses a version of PHP that is affected by multiple vulnerabilities.

Description

According to its banner, the version of PHP running on the remote host is 7.x prior to 7.0.2. It is, therefore, affected by multiple vulnerabilities :

- An out-of-bounds read error exists in the gdImageRotateInterpolated() function in file gd_interpolation.c when handling background colors.
A remote attacker can exploit this to disclose memory contents or crash the application. (CVE-2016-1903)

- An integer overflow condition exists in file exec.c in the escapeshellarg() and escapeshellcmd() functions due to a failure to properly validate user-supplied string input. A remote attacker can exploit this to cause a heap-based overflow, resulting in a denial of service or the execution of arbitrary code.
(CVE-2016-1904)

- A use-after-free error exists in file wddx.c in the php_wddx_pop_element() function when handling WDDX packet deserialization. A remote attacker can exploit this, by dereferencing already freed memory, to execute arbitrary code.

- A type confusion flaw exists in file xmlrpc-epi-php.c in the PHP_to_XMLRPC_worker() function. A remote attacker can exploit this to disclose memory contents, crash the application process, or have other impact.

- A type confusion flaw exists in file wddx.c when handling WDDX packet deserialization. A remote attacker can exploit this to execute arbitrary code.

- An unspecified flaw exists in file fpm_log.c in the fpm_log_write() function when handling very long HTTP requests. A local attacker can exploit this to obtain sensitive information, via access to the access log file. (CVE-2016-5114)

- A flaw exists in file lsapilib.c when handling requests due to the LSAPI module failing to clear its secrets in child processes. A remote attacker can exploit this to gain access to memory contents, resulting in the disclosure of sensitive information.

- A flaw exists in file lsapilib.c in the parseRequest() function due to a failure to properly sanitize input passed through multiple, unspecified parameters. A remote attacker can exploit this to cause a denial of service.

Solution

Upgrade to PHP version 7.0.2 or later.

See Also

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

Plugin Details

Severity: High

ID: 88680

File Name: php_7_0_2.nasl

Version: 1.10

Type: remote

Family: CGI abuses

Published: 2/10/2016

Updated: 5/31/2024

Configuration: Enable thorough checks

Supported Sensors: Nessus

Enable CGI Scanning: true

Risk Information

VPR

Risk Factor: Medium

Score: 6.0

CVSS v2

Risk Factor: High

Base Score: 7.5

Temporal Score: 5.5

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

CVSS Score Source: CVE-2016-1904

CVSS v3

Risk Factor: High

Base Score: 7.3

Temporal Score: 6.4

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

Temporal Vector: CVSS:3.0/E:U/RL:O/RC:C

Vulnerability Information

CPE: cpe:/a:php:php

Required KB Items: www/PHP

Excluded KB Items: Settings/disable_cgi_scanning

Exploit Ease: No exploit is required

Patch Publication Date: 1/7/2016

Vulnerability Publication Date: 12/8/2015

Reference Information

CVE: CVE-2016-1903, CVE-2016-1904, CVE-2016-5114

BID: 79916, 81296, 81808