CVE-2018-3977
High · 8.8CVSS
8.8
EPSS
3.5%
Published
Nov 1, 2018
CISA due date
—
Cloudanix analysis
A bug in software that handles certain image files lets attackers run their own code on a computer simply by getting the victim to open a specially made picture.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Specially crafted XCF image triggers heap overflow in image rendering code path, enabling arbitrary code execution.
Why it matters to the business
Systems processing untrusted images can be fully compromised, allowing attackers to run code, steal data, or pivot inside the environment; the issue affects widely deployed packages with large downstream user bases.
How an attack unfolds
An attacker creates a malicious XCF image that exploits the heap overflow during rendering; the image is delivered to the target (e.g., via web page, file share, or email) and processed by the vulnerable library, resulting in code execution under the context of the application.
How to fix it
Upgrade proftpd-dfsg to the fixed versions 1.3.6-6 (Debian 11/12/13) or 1.3.6-6build2 (Ubuntu 20.04 LTS) and rebuild/restart any dependent services.
How to confirm the fix worked
Query package managers to confirm installed versions match or exceed the listed fixed releases; re-test image rendering with known-good XCF files after upgrade.
Typical attack path
- Craft malicious XCF image exploiting heap overflow
- Deliver image to target system or user
- Victim application renders the image
- Heap overflow triggers and attacker payload executes
How to detect it
Review application and system logs for crashes or errors during XCF image processing; inspect process memory dumps or core files for signs of heap corruption around image rendering routines.
What your security team should do
- Apply the listed package upgrades immediately on all affected Debian and Ubuntu systems
- Inventory and scan for any remaining vulnerable proftpd-dfsg installations
- Block or sandbox untrusted image processing until patches are deployed
- Monitor for new exploit releases given the existing public exploit maturity
The record
An exploitable code execution vulnerability exists in the XCF image rendering functionality of SDL2_image-2.0.3. A specially crafted XCF image can cause a heap overflow, resulting in code execution. An attacker can display a specially crafted image to trigger this vulnerability.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | libsdl2-image | 0 | 2.0.3+dfsg1-3 |
| Debian:11 | sdl-image1.2 | 0 | 1.2.12-10 |
| Debian:12 | libsdl2-image | 0 | 2.0.3+dfsg1-3 |
| Debian:12 | sdl-image1.2 | 0 | 1.2.12-10 |
| Debian:13 | libsdl2-image | 0 | 2.0.3+dfsg1-3 |
| Debian:13 | sdl-image1.2 | 0 | 1.2.12-10 |
| Debian:8 | libsdl2-image | 0 | 2.0.0+dfsg-3+deb8u2 |
| Debian:8 | sdl-image1.2 | 0 | 1.2.12-5+deb8u2 |
| Mageia:6 | mingw-SDL2 | 0 | 2.0.9-1.mga6 |
| Mageia:6 | mingw-SDL2_image | 0 | 2.0.4-1.mga6 |
| Mageia:6 | mingw-SDL2_mixer | 0 | 2.0.4-1.mga6 |
| Mageia:6 | sdl2 | 0 | 2.0.9-1.mga6 |
| Mageia:6 | sdl2_image | 0 | 2.0.4-1.mga6 |
| Mageia:6 | sdl2_mixer | 0 | 2.0.4-1.mga6 |
| Mageia:7 | SDL_image | 0 | 1.2.12-12.1.mga7 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | SDL_image | 0 | 1.2.6-84.46.1 |
| SUSE:Package Hub 15 | SDL2_image | 0 | 2.0.4-bp150.3.3.1 |
| Ubuntu:16.04:LTS | sdl-image1.2 | 0 | 1.2.12-5+deb9u1ubuntu0.16.04.1 |
| Ubuntu:18.04:LTS | sdl-image1.2 | 0 | 1.2.12-8ubuntu0.1 |
| Ubuntu:Pro:14.04:LTS | libsdl2-image | 0 | 2.0.0+dfsg-3+deb8u2build0.14.04.1~esm1 |
| Ubuntu:Pro:14.04:LTS | sdl-image1.2 | 0 | 1.2.12-5+deb9u1ubuntu0.14.04.1~esm1 |
Related vulnerabilities
- CVE-2007-6697 Buffer overflow in the LWZReadByte function in IMG_gif.c in SDL_image before 1.2.7 allows… Also affects sdl-image1.2
- CVE-2017-2888 An exploitable integer overflow vulnerability exists when creating a new RGB Surface in… Also affects mingw-SDL2
- CVE-2026-111497 A buffer overflow vulnerability in the Brotli decoder (c/dec/decode.c) in Google Brotli… CWE-787
- CVE-2026-112397 Pillow is a Python imaging library. CWE-787
- CVE-2026-112059 libLAS through 1.8.1 contains a heap out-of-bounds write vulnerability in the point… CWE-787
- CVE-2026-89088 A flaw was found in parted. CWE-787
- CVE-2026-89085 A flaw was found in parted. CWE-787
- CVE-2026-85746 MariaDB server is a community developed fork of MySQL server. CWE-787