gdlib up to 2.0.28 Graphics gd_png.c gdimagecreatefrompngctx heap-based overflow
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 9.0 | $0-$5k | 0.00 |
Summary
A vulnerability was found in gdlib up to 2.0.28. It has been classified as critical. Affected is the function gdimagecreatefrompngctx of the file gd_png.c of the component Graphics. This manipulation causes heap-based overflow.
This vulnerability is handled as CVE-2004-0990. Additionally, an exploit exists.
Upgrading the affected component is recommended.
Details
A vulnerability was found in gdlib up to 2.0.28. It has been declared as critical. Affected by this vulnerability is the function gdimagecreatefrompngctx of the file gd_png.c of the component Graphics. The manipulation with an unknown input leads to a heap-based overflow vulnerability. The CWE definition for the vulnerability is CWE-122. A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc(). As an impact it is known to affect confidentiality, integrity, and availability. The summary by CVE is:
Integer overflow in GD Graphics Library libgd 2.0.28 (libgd2), and possibly other versions, allows remote attackers to cause a denial of service and possibly execute arbitrary code via PNG image files with large image rows values that lead to a heap-based buffer overflow in the gdImageCreateFromPngCtx function, a different set of vulnerabilities than CVE-2004-0941.
The bug was discovered 10/26/2004. The weakness was released 10/25/2004 by infamous41md (Website). The advisory is shared at archives.neohapsis.com. This vulnerability is known as CVE-2004-0990 since 10/27/2004. The exploitation appears to be easy. The attack can be launched remotely. The exploitation doesn't need any form of authentication. Technical details and also a public exploit are known.
After immediately, there has been an exploit disclosed. It is possible to download the exploit at exploit-db.com. It is declared as proof-of-concept. The vulnerability scanner Nessus provides a plugin with the ID 15689 (Debian DSA-591-1 : libgd2 - integer overflows), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Debian Local Security Checks and running in the context l. The commercial vulnerability scanner Qualys is able to test this issue with plugin 117948 (CentOS Security Update for gd (CESA-2004:638)).
Upgrading eliminates this vulnerability. A possible mitigation has been published 3 weeks after the disclosure of the vulnerability. Attack attempts may be identified with Snort ID 3132. Furthermore it is possible to detect and prevent this kind of attack with TippingPoint and the filter 31444.
The vulnerability is also documented in the databases at X-Force (17866), Exploit-DB (600), Tenable (15689), SecurityFocus (BID 11523†) and OSVDB (11190†). Entries connected to this vulnerability are available at VDB-2301, VDB-23921 and VDB-30800. Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
Product
Name
Version
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 10.0VulDB Meta Temp Score: 9.0
VulDB Base Score: 10.0
VulDB Temp Score: 9.0
VulDB Vector: 🔍
VulDB Reliability: 🔍
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: Heap-based overflowCWE: CWE-122 / CWE-119
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
Availability: 🔍
Access: Public
Status: Proof-of-Concept
Download: 🔍
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 15689
Nessus Name: Debian DSA-591-1 : libgd2 - integer overflows
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Context: 🔍
Nessus Port: 🔍
OpenVAS ID: 53713
OpenVAS Name: Debian Security Advisory DSA 589-1 (libgd)
OpenVAS File: 🔍
OpenVAS Family: 🔍
Qualys ID: 🔍
Qualys Name: 🔍
Exploit-DB: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍
Exploit Delay Time: 🔍
Snort ID: 3132
Snort Message: FILE-IMAGE Microsoft Multiple Products PNG large image width download attempt
Snort Class: 🔍
Suricata ID: 2103134
Suricata Class: 🔍
Suricata Message: 🔍
TippingPoint: 🔍
SourceFire IPS: 🔍
Fortigate IPS: 🔍
Timeline
10/25/2004 🔍10/25/2004 🔍
10/26/2004 🔍
10/26/2004 🔍
10/26/2004 🔍
10/27/2004 🔍
10/28/2004 🔍
11/09/2004 🔍
11/10/2004 🔍
03/01/2005 🔍
05/31/2005 🔍
03/10/2015 🔍
12/06/2024 🔍
Sources
Advisory: archives.neohapsis.comResearcher: infamous41md
Status: Confirmed
Confirmation: 🔍
CVE: CVE-2004-0990 (🔍)
GCVE (CVE): GCVE-0-2004-0990
GCVE (VulDB): GCVE-100-24001
OVAL: 🔍
X-Force: 17866
SecurityFocus: 11523 - GD Graphics Library Remote Integer Overflow Vulnerability
Secunia: 13179
OSVDB: 11190 - GD Graphics Library PNG Handling gdImageCreateFromPngCtx() Overflow
Vulnerability Center: 8193 - Multiple Buffer Overflows in GD Graphics Library gdlib 1.8.4 - 2.0.28 via gd_png.c File, Medium
scip Labs: https://www.scip.ch/en/?labs.20161013
See also: 🔍
Entry
Created: 03/10/2015 15:27Updated: 12/06/2024 11:52
Changes: 03/10/2015 15:27 (93), 06/05/2019 18:40 (6), 12/06/2024 11:52 (17)
Complete: 🔍
Cache ID: 216::103
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
No comments yet. Languages: en.
Please log in to comment.