Cloudanix VulnDB

CVE-2016-6296

Critical · 9.8

CVSS

9.8

EPSS

6.3%

Published

Jul 25, 2016

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

Older versions of PHP contain a flaw that lets remote attackers crash the server or potentially run malicious code simply by sending a specially crafted request to XML-RPC features.

Exploit Available
Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Remote Code Execution
Component
Library
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Integer signedness error in simplestring_addn triggers heap-based buffer overflow when processing an oversized first argument to xmlrpc_encode_request, enabling memory corruption that can lead to denial of service or arbitrary code execution.

Why it matters to the business

Attackers can remotely crash PHP applications or execute code on unpatched systems, resulting in service outages, data breaches, or full host compromise; widespread use of affected PHP versions increases organizational exposure.

How an attack unfolds

An attacker crafts a malicious request containing an excessively long parameter and supplies it to a PHP application that invokes xmlrpc_encode_request; the signedness error causes an undersized allocation followed by an overflow write, corrupting heap memory and allowing control-flow hijacking or process termination.

How to fix it

Upgrade PHP to version 5.5.38 or later, 5.6.24 or later, or 7.0.9 or later; if immediate patching is impossible, disable the xmlrpc extension or restrict access to functions that invoke xmlrpc_encode_request.

How to confirm the fix worked

Verify installed PHP version against the fixed releases; perform runtime testing with an oversized argument to xmlrpc_encode_request and confirm absence of overflow or crash; review application code for direct or indirect calls to the affected function.

Typical attack path

  1. Identify a web endpoint or script that calls xmlrpc_encode_request with attacker-controlled input
  2. Send HTTP request containing an oversized first argument to trigger the signedness error
  3. Exploit resulting heap overflow to achieve code execution or cause denial of service

How to detect it

Inspect web server and application logs for unusually long values passed to xmlrpc_encode_request; correlate with PHP process crashes, segmentation faults, or anomalous memory consumption; review historical access logs around the time of any service instability for oversized XML-RPC payloads.

  • xmlrpc_encode_request
  • simplestring_addn

What your security team should do

  • Apply the appropriate PHP security update without delay given the critical CVSS and public exploit availability
  • Audit all applications for use of xmlrpc_encode_request and xmlrpc-epi and remove or replace the functionality where feasible
  • Implement web application firewall rules to block abnormally large parameters in XML-RPC traffic
  • Monitor vulnerability disclosure feeds for any newly reported exploitation of this memory corruption issue

The record

Integer signedness error in the simplestring_addn function in simplestring.c in xmlrpc-epi through 0.54.2, as used in PHP before 5.5.38, 5.6.x before 5.6.24, and 7.x before 7.0.9, allows remote attackers to cause a denial of service (heap-based buffer overflow) or possibly have unspecified other impact via a long first argument to the PHP xmlrpc_encode_request function.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 xmlrpc-epi 0 0.54.2-1.2
Debian:12 xmlrpc-epi 0 0.54.2-1.2
Debian:13 xmlrpc-epi 0 0.54.2-1.2
Debian:14 xmlrpc-epi 0 0.54.2-1.2
Debian:7 php5 0 5.4.45-0+deb7u5
Debian:7 xmlrpc-epi 0 0.54.2-1+deb7u1
Debian:8 php5 0 5.6.24+dfsg-0+deb8u1
Debian:8 xmlrpc-epi 0 0.54.2-1.1+deb8u1
Mageia:5 php 0 5.6.24-1.mga5
Mageia:5 php-timezonedb 0 2016.6-1.mga5
Mageia:5 timezone 0 2016f-1.mga5
Mageia:5 xmlrpc-epi 0 0.54.2-5.1.mga5
Red Hat:rhel_software_collections:2::el6 rh-php56 0 0:2.3-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-bcmath 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-cli 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-common 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-dba 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-dbg 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-debuginfo 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-devel 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-embedded 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-enchant 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-fpm 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-gd 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-gmp 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-imap 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-intl 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-ldap 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-mbstring 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-mysqlnd 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-odbc 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-opcache 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-pdo 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-pear 0 1:1.9.5-4.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-pgsql 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-process 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-pspell 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-recode 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-snmp 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-soap 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-tidy 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-xml 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-php-xmlrpc 0 0:5.6.25-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-runtime 0 0:2.3-1.el6
Red Hat:rhel_software_collections:2::el6 rh-php56-scldevel 0 0:2.3-1.el6
Red Hat:rhel_software_collections:2::el7 rh-php56 0 0:2.3-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-bcmath 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-cli 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-common 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-dba 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-dbg 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-debuginfo 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-devel 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-embedded 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-enchant 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-fpm 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-gd 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-gmp 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-intl 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-ldap 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-mbstring 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-mysqlnd 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-odbc 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-opcache 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-pdo 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-pear 0 1:1.9.5-4.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-pgsql 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-process 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-pspell 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-recode 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-snmp 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-soap 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-xml 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-php-xmlrpc 0 0:5.6.25-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-runtime 0 0:2.3-1.el7
Red Hat:rhel_software_collections:2::el7 rh-php56-scldevel 0 0:2.3-1.el7
SUSE:Linux Enterprise Module for Web and Scripting 12 php5 0 5.5.14-73.1
SUSE:Linux Enterprise Module for Web and Scripting 12 php7 0 7.0.7-15.1
SUSE:Linux Enterprise Server 11 SP2-LTSS php5 0 5.2.14-0.7.30.89.1
SUSE:Linux Enterprise Server 11 SP2-LTSS php53 0 5.3.17-55.1
SUSE:Linux Enterprise Server 11 SP4 php53 0 5.3.17-79.2
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 php53 0 5.3.17-79.2
SUSE:Linux Enterprise Software Development Kit 11 SP4 php53 0 5.3.17-79.2
SUSE:Linux Enterprise Software Development Kit 12 SP1 php5 0 5.5.14-73.1
SUSE:Linux Enterprise Software Development Kit 12 SP1 php7 0 7.0.7-15.1
Ubuntu:14.04:LTS php5 0 5.5.9+dfsg-1ubuntu4.19
Ubuntu:14.04:LTS xmlrpc-epi 0 0.54.2-1+deb7u1ubuntu0.14.04.2
Ubuntu:16.04:LTS php7.0 0 7.0.8-0ubuntu0.16.04.2
Ubuntu:16.04:LTS xmlrpc-epi 0 0.54.2-1.1ubuntu0.1

Related vulnerabilities