CVE-2016-10158
High · 7.5CVSS
7.5
EPSS
7.8%
Published
Jan 24, 2017
CISA due date
—
Cloudanix analysis
A flaw in how certain software reads image information lets attackers send specially made files that crash the program, temporarily stopping services that rely on it.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The exif_convert_any_to_int function in PHP crashes when processing crafted EXIF data that triggers division of the minimum representable negative integer by -1.
Why it matters to the business
Attackers can remotely crash PHP-based applications or services, causing denial of service and interrupting availability until restart; the issue affects container images used in Kyverno deployments and should be addressed promptly despite low EPSS and no known KEV or ransomware usage.
How an attack unfolds
An attacker crafts an image file containing malicious EXIF metadata and supplies it to any PHP application or service that parses EXIF data; the input reaches exif_convert_any_to_int, triggering the integer division flaw and crashing the process. No named threat actors are associated with exploitation of this CVE.
How to fix it
Upgrade affected Kyverno packages to the fixed versions: kyverno (Chainguard) 1.12.3-r2 and kyverno (Wolfi) 1.12.3-r2; rebuild and redeploy container images containing the updated packages.
How to confirm the fix worked
Confirm the installed package versions match or exceed the fixed releases listed above; test EXIF processing with known trigger images to verify the crash no longer occurs.
Typical attack path
- Identify a PHP application endpoint that processes image uploads or EXIF metadata
- Craft an image file with EXIF data designed to trigger the integer overflow condition
- Deliver the malicious image to the target via upload, URL, or API request
- Observe application crash and service disruption
How to detect it
Monitor application and PHP error logs for segmentation faults or crashes during image/EXIF processing; look for repeated requests containing image uploads immediately preceding service restarts.
What your security team should do
- Prioritize upgrade of Kyverno images to the patched package versions within the next patch cycle
- Scan container registries and build pipelines for any remaining vulnerable Kyverno images
- Review PHP EXIF handling code paths and consider input sanitization or library restrictions where upgrades are delayed
The record
The exif_convert_any_to_int function in ext/exif/exif.c in PHP before 5.6.30, 7.0.x before 7.0.15, and 7.1.x before 7.1.1 allows remote attackers to cause a denial of service (application crash) via crafted EXIF data that triggers an attempt to divide the minimum representable negative integer by -1.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:7 | php5 | 0 | 5.4.45-0+deb7u7 |
| Debian:8 | php5 | 0 | 5.6.30+dfsg-0+deb8u1 |
| Mageia:5 | php | 0 | 5.6.30-1.mga5 |
| 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-96.1 |
| SUSE:Linux Enterprise Module for Web and Scripting 12 | php7 | 0 | 7.0.7-35.1 |
| SUSE:Linux Enterprise Point of Sale 11 SP3 | php53 | 0 | 5.3.17-101.1 |
| SUSE:Linux Enterprise Server 11 SP3-LTSS | php53 | 0 | 5.3.17-101.1 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | php53 | 0 | 5.3.17-101.1 |
| SUSE:Linux Enterprise Server 11 SP4 | php53 | 0 | 5.3.17-101.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | php53 | 0 | 5.3.17-101.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | php53 | 0 | 5.3.17-101.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | php5 | 0 | 5.5.14-96.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | php7 | 0 | 7.0.7-35.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | php5 | 0 | 5.5.14-96.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | php7 | 0 | 7.0.7-35.1 |
| SUSE:Manager 2.1 | php53 | 0 | 5.3.17-101.1 |
| SUSE:Manager Proxy 2.1 | php53 | 0 | 5.3.17-101.1 |
| SUSE:OpenStack Cloud 5 | php53 | 0 | 5.3.17-101.1 |
| Ubuntu:14.04:LTS | php5 | 0 | 5.5.9+dfsg-1ubuntu4.21 |
| Ubuntu:16.04:LTS | php7.0 | 0 | 7.0.15-0ubuntu0.16.04.2 |
Related vulnerabilities
- CVE-2017-12933 The finish_nested_data function in ext/standard/var_unserializer.re in PHP before 5.6.31… Also affects php5
- CVE-2016-10161 The object_common1 function in ext/standard/var_unserializer.c in PHP before 5.6.30… Also affects php5
- CVE-2016-7479 In all versions of PHP 7, during the unserialization process, resizing the 'properties'… Also affects php5
- CVE-2016-7478 Zend/zend_exceptions.c in PHP, possibly 5.x before 5.6.28 and 7.x before 7.0.13, allows… Also affects php5
- CVE-2016-7418 The php_wddx_push_element function in ext/wddx/wddx.c in PHP before 5.6.26 and 7.x before… Also affects php5
- CVE-2016-7124 ext/standard/var_unserializer.c in PHP before 5.6.25 and 7.x before 7.0.10 mishandles… Also affects php5
- CVE-2016-5771 spl_array.c in the SPL extension in PHP before 5.5.37 and 5.6.x before 5.6.23 improperly… Also affects php5
- CVE-2016-6296 Integer signedness error in the simplestring_addn function in simplestring.c in… Also affects php5