PHP up to 5.5.30/5.6.16/7.0.1 gd_interpolation.c imagerotate bgd_color memory corruption
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 8.9 | $0-$5k | 0.00 |
Summary
A vulnerability labeled as critical has been found in PHP up to 5.5.30/5.6.16/7.0.1. The affected element is the function imagerotate in the library ext/gd/libgd/gd_interpolation.c of the file ext/gd/libgd/gd_interpolation.c. The manipulation of the argument bgd_color results in memory corruption.
This vulnerability was named CVE-2016-1903. The attack may be performed from remote. There is no available exploit.
The affected component should be upgraded.
Details
A vulnerability, which was classified as critical, was found in PHP up to 5.5.30/5.6.16/7.0.1 (Programming Language Software). Affected is the function imagerotate in the library ext/gd/libgd/gd_interpolation.c of the file ext/gd/libgd/gd_interpolation.c. The manipulation of the argument bgd_color with an unknown input leads to a memory corruption vulnerability. CWE is classifying the issue as CWE-119. The product performs operations on a memory buffer, but it can read from or write to a memory location that is outside of the intended boundary of the buffer. This is going to have an impact on confidentiality, integrity, and availability. CVE summarizes:
The gdImageRotateInterpolated function in ext/gd/libgd/gd_interpolation.c in PHP before 5.5.31, 5.6.x before 5.6.17, and 7.x before 7.0.2 allows remote attackers to obtain sensitive information or cause a denial of service (out-of-bounds read and application crash) via a large bgd_color argument to the imagerotate function.
The weakness was presented 01/19/2016 (Website). The advisory is shared for download at bugs.php.net. This vulnerability is traded as CVE-2016-1903 since 01/14/2016. It is possible to launch the attack remotely. The exploitation doesn't require any form of authentication. There are known technical details, but no exploit is available.
As 0-day the estimated underground price was around $25k-$100k. The vulnerability scanner Nessus provides a plugin with the ID 87974 (Amazon Linux AMI : php56 / php55 (ALAS-2016-640)), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Amazon Linux Local Security Checks and running in the context l. The commercial vulnerability scanner Qualys is able to test this issue with plugin 196450 (Ubuntu Security Notification for Php5 Vulnerabilities (USN-2952-1)).
Upgrading to version 5.5.31, 5.6.17 or 7.0.2 eliminates this vulnerability. A possible mitigation has been published before and not just after the disclosure of the vulnerability.
The vulnerability is also documented in the databases at Tenable (87974), SecurityFocus (BID 79916†) and Vulnerability Center (SBV-56174†). See VDB-3695, VDB-5786, VDB-5794 and VDB-9021 for similar entries. VulDB is the best source for vulnerability data and more expert information about this specific topic.
Product
Type
Name
Version
- 5.5.0
- 5.5.1
- 5.5.2
- 5.5.3
- 5.5.4
- 5.5.5
- 5.5.6
- 5.5.7
- 5.5.8
- 5.5.9
- 5.5.10
- 5.5.11
- 5.5.12
- 5.5.13
- 5.5.14
- 5.5.15
- 5.5.16
- 5.5.17
- 5.5.18
- 5.5.19
- 5.5.20
- 5.5.21
- 5.5.22
- 5.5.23
- 5.5.24
- 5.5.25
- 5.5.26
- 5.5.27
- 5.5.28
- 5.5.29
- 5.5.30
- 5.6.0
- 5.6.1
- 5.6.2
- 5.6.3
- 5.6.4
- 5.6.5
- 5.6.6
- 5.6.7
- 5.6.8
- 5.6.9
- 5.6.10
- 5.6.11
- 5.6.12
- 5.6.13
- 5.6.14
- 5.6.15
- 5.6.16
- 7.0.0
- 7.0.1
License
Website
- Product: https://www.php.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 9.1VulDB Meta Temp Score: 8.9
VulDB Base Score: 9.1
VulDB Temp Score: 8.7
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 9.1
NVD Vector: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
NVD Base Score: 🔍
Exploiting
Class: Memory corruptionCWE: CWE-119
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
Availability: 🔍
Status: Not defined
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 87974
Nessus Name: Amazon Linux AMI : php56 / php55 (ALAS-2016-640)
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Context: 🔍
OpenVAS ID: 14611
OpenVAS Name: Amazon Linux Local Check: alas-2016-640
OpenVAS File: 🔍
OpenVAS Family: 🔍
Qualys ID: 🔍
Qualys Name: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔍
Upgrade: PHP 5.5.31/5.6.17/7.0.2
Timeline
11/26/2015 🔍01/14/2016 🔍
01/18/2016 🔍
01/19/2016 🔍
01/19/2016 🔍
01/19/2016 🔍
01/19/2016 🔍
01/20/2016 🔍
01/26/2016 🔍
07/03/2022 🔍
Sources
Product: php.orgAdvisory: USN-2952-1
Status: Not defined
Confirmation: 🔍
CVE: CVE-2016-1903 (🔍)
GCVE (CVE): GCVE-0-2016-1903
GCVE (VulDB): GCVE-100-80328
SecurityFocus: 79916 - PHP 'gd_interpolation.c' Out of Bounds Read Memory Corruption Vulnerability
SecurityTracker: 1034608
Vulnerability Center: 56174 - PHP <5.5.31, 5.6.0 - 5.6.16, 7.0 - 7.0.1 Remote Information Disclosure or DoS in GD Imagerotate Function, Medium
See also: 🔍
Entry
Created: 01/20/2016 10:07Updated: 07/03/2022 16:38
Changes: 01/20/2016 10:07 (65), 07/22/2018 10:08 (23), 07/03/2022 16:32 (4), 07/03/2022 16:38 (1)
Complete: 🔍
Cache ID: 216:729:103
VulDB is the best source for vulnerability data and more expert information about this specific topic.
No comments yet. Languages: en.
Please log in to comment.