CIS Logo
tagline: Confidence in the Connected World
HomeResourcesAdvisoriesMultiple Vulnerabilities in PHP Could Allow for Arbitrary Code Execution

Multiple Vulnerabilities in PHP Could Allow for Arbitrary Code Execution

MS-ISAC ADVISORY NUMBER:

2017-104

DATE(S) ISSUED:

10/27/2017

OVERVIEW:

Multiple vulnerabilities have been discovered in PHP, the most severe of which could allow an attacker to execute arbitrary code. PHP is a programming language originally designed for use in web-based applications with HTML content. PHP supports a wide variety of platforms and is used by numerous web-based software applications. Successfully exploiting the most severe of these vulnerabilities could allow for arbitrary code execution in the context of the affected application. Depending on the privileges associated with the application, an attacker could install programs; view, change, or delete data; or create new accounts with full user rights. Failed exploitation could result in a denial-of-service condition.

THREAT INTELLIGENCE:

There are currently no reports of these vulnerabilities being exploited in the wild.

SYSTEMS AFFECTED:

  • PHP 7.1 prior to 7.1.11
  • PHP 7.0 prior to 7.0.2
  • PHP 5.6 prior to 5.6.32

RISK:

Government:
  • Large and medium government entities: HIGH
  • Small government entities: HIGH
Businesses:
  • Large and medium business entities: HIGH
  • Small business entities: HIGH
Home Users:
LOW

TECHNICAL SUMMARY:

vMultiple vulnerabilities have been discovered in PHP, the most severe of which could allow an attacker to execute arbitrary code. Details of these vulnerabilities are as below:

Version 7.1.11

  • Bug #75241 (Null pointer dereference in zend_mm_alloc_small()).
  • Bug #75236 (infinite loop when printing an error-message).
  • Bug #75252 (Incorrect token formatting on two parse errors in one request).
  • Bug #75220 (Segfault when calling is_callable on parent).
  • Bug #75290 (debug info of Closures of internal functions contain garbage argument names).
  • Bug #75055 (Out-Of-Bounds Read in timelib_meridian()).
  • Bug #75311 (error: 'zend_hash_key' has no member named 'arKey' in apache2handler).
  • Bug #75303 (sha3 hangs on bigendian).
  • Bug #75318 (The parameter of UConverter::getAliases() is not optional).
  • Bug #75248 (Binary directory doesn't get created when building only litespeed SAPI).
  • Bug #75251 (Missing program prefix and suffix).
  • Bug #72535 (arcfour encryption stream filter crashes php).
  • Bug #75018 (Data corruption when reading fields of bit type).
  • Bug #75255 (Request hangs and not finished).
  • Bug #75207 (applied upstream patch for CVE-2016-1283).
  • Bug #75177 (Type 'bit' is fetched as unexpected string).
  • Bug #73629 (SplDoublyLinkedList::setIteratorMode masks intern flags).

Version 7.0.25

  • Bug #75241 (Null pointer dereference in zend_mm_alloc_small()).
  • Bug #75236 (infinite loop when printing an error-message).
  • Bug #75252 (Incorrect token formatting on two parse errors in one request).
  • Bug #75220 (Segfault when calling is_callable on parent).
  • Bug #75290 (debug info of Closures of internal functions contain garbage argument names).
  • Bug #75311 (error: 'zend_hash_key' has no member named 'arKey' in apache2handler).
  • Bug #75055 (Out-Of-Bounds Read in timelib_meridian()).
  • Bug #75318 (The parameter of UConverter::getAliases() is not optional).
  • Bug #72535 (arcfour encryption stream filter crashes php).
  • Bug #75207 (applied upstream patch for CVE-2016-1283).
  • Bug #75248 (Binary directory doesn't get created when building only litespeed SAPI).
  • Bug #75251 (Missing program prefix and suffix).
  • Bug #73629 (SplDoublyLinkedList::setIteratorMode masks intern flags).

Version 5.6.32

  • Bug #75055 (out-of-bounds read in timelib_meridian()).
  • Bug #72535 (arcfour encryption stream filter crashes php).
  • Bug #75207 (applied upstream patch for CVE-2016-1283).

Successfully exploiting the most severe of these vulnerabilities could allow for arbitrary code execution in the context of the affected application. Depending on the privileges associated with the application, an attacker could install programs; view, change, or delete data; or create new accounts with full user rights. Failed exploitation could result in a denial-of-service condition.

RECOMENDATIONS:

We recommend the following actions be taken:

  • Upgrade to the latest version of PHP immediately, after appropriate testing.
  • Verify no unauthorized system modifications have occurred on system before applying patch.
  • Apply the principle of Least Privilege to all systems and services.
  • Remind users not to visit websites or follow links provided by unknown or untrusted sources.

REFERENCES:

Get Email Updates When Cyber Threats Like This Arise

Arrow Subscribe to Advisories

Protect Your Systems from Cyber Threats Like This

CIS Controls That Help Avoid This Issue Arrow CIS Control 3: Continuous Vulnerability Assessment and Remediation Arrow CIS Control 18: Application Software Security