Cloudanix VulnDB

CVE-2017-12933

Critical · 9.8

CVSS

9.8

EPSS

6.9%

Published

Aug 18, 2017

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A flaw in how PHP reads certain data can let attackers change how programs behave without permission.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Data Exposure
Component
Library
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The finish_nested_data function performs a buffer over-read during deserialization of attacker-controlled input, allowing out-of-bounds memory access that can corrupt process integrity.

Why it matters to the business

Attackers may be able to alter application behavior or data without authentication, leading to service disruption or unauthorized changes across any systems running the affected PHP versions.

How an attack unfolds

An attacker crafts a malicious serialized payload and supplies it to any PHP application that calls unserialize on untrusted data; the vulnerable deserializer reads past allocated buffers, enabling integrity violations.

How to fix it

Upgrade PHP to version 5.6.31 or later, 7.0.21 or later, or 7.1.7 or later; disable unserialize on untrusted data where possible and replace with safe alternatives such as JSON.

How to confirm the fix worked

Confirm the installed PHP version is at or above the fixed releases; test that crafted serialized payloads no longer trigger crashes or unexpected behavior.

Typical attack path

  1. Identify an entry point that accepts serialized input (e.g., cookie, POST body, or cache entry)
  2. Generate a specially formed serialized string that triggers nested data structures
  3. Submit the payload to the unserialize call
  4. Observe or leverage resulting memory state changes to affect application integrity

How to detect it

Review web server and application logs for unusually large or malformed serialized strings; look for segmentation faults or abnormal process terminations in PHP workers after receiving untrusted input.

What your security team should do

  • Prioritize patching PHP installations that accept user-supplied serialized data
  • Review application code for direct or indirect calls to unserialize on external input
  • Implement input validation or switch to JSON encoding for all serialization needs
  • Monitor vulnerability feeds for any future exploitation reports despite current low EPSS

The record

The finish_nested_data function in ext/standard/var_unserializer.re in PHP before 5.6.31, 7.0.x before 7.0.21, and 7.1.x before 7.1.7 is prone to a buffer over-read while unserializing untrusted data. Exploitation of this issue can have an unspecified impact on the integrity of PHP.

Affected packages

Ecosystem Package Introduced Fixed
Debian:7 php5 0 5.4.45-0+deb7u11
Debian:8 php5 0 5.6.33+dfsg-0+deb8u1
Debian:9 php7.0 0 7.0.27-0+deb9u1
Red Hat:rhel_software_collections:3::el6 rh-php70-php 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-bcmath 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-cli 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-common 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-dba 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-dbg 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-debuginfo 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-devel 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-embedded 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-enchant 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-fpm 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-gd 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-gmp 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-imap 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-intl 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-json 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-ldap 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-mbstring 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-mysqlnd 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-odbc 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-opcache 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-pdo 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-pgsql 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-process 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-pspell 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-recode 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-snmp 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-soap 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-tidy 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-xml 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-xmlrpc 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el6 rh-php70-php-zip 0 0:7.0.27-1.el6
Red Hat:rhel_software_collections:3::el7 rh-php70-php 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-bcmath 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-cli 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-common 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-dba 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-dbg 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-debuginfo 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-devel 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-embedded 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-enchant 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-fpm 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-gd 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-gmp 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-intl 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-json 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-ldap 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-mbstring 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-mysqlnd 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-odbc 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-opcache 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-pdo 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-pgsql 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-process 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-pspell 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-recode 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-snmp 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-soap 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-xml 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-xmlrpc 0 0:7.0.27-1.el7
Red Hat:rhel_software_collections:3::el7 rh-php70-php-zip 0 0:7.0.27-1.el7
SUSE:Linux Enterprise Module for Web and Scripting 12 php5 0 5.5.14-109.8.2
SUSE:Linux Enterprise Module for Web and Scripting 12 php7 0 7.0.7-50.18.1
SUSE:Linux Enterprise Server 11 SP4 php53 0 5.3.17-112.5.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 php53 0 5.3.17-112.5.1
SUSE:Linux Enterprise Software Development Kit 11 SP4 php53 0 5.3.17-112.5.1
SUSE:Linux Enterprise Software Development Kit 12 SP2 php5 0 5.5.14-109.8.2
SUSE:Linux Enterprise Software Development Kit 12 SP2 php7 0 7.0.7-50.18.1
SUSE:Linux Enterprise Software Development Kit 12 SP3 php5 0 5.5.14-109.8.2
SUSE:Linux Enterprise Software Development Kit 12 SP3 php7 0 7.0.7-50.18.1
Ubuntu:14.04:LTS php5 0 5.5.9+dfsg-1ubuntu4.23
Ubuntu:14.04:LTS php5 0 5.5.9+dfsg-1ubuntu4.29+esm2
Ubuntu:16.04:LTS php7.0 0 7.0.22-0ubuntu0.16.04.1
Ubuntu:Pro:14.04:LTS php5 0 5.5.9+dfsg-1ubuntu4.29+esm2

Related vulnerabilities