CVE-2015-6673
Critical · 9.8CVSS
9.8
EPSS
1.9%
Published
Sep 20, 2017
CISA due date
—
Cloudanix analysis
A bug in a picture-handling tool could let attackers take over computers that open certain image files.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free in Decoder.cpp of libpgf allows memory to be referenced after deallocation during image decoding, enabling memory corruption that can lead to arbitrary code execution or crashes.
Why it matters to the business
Applications relying on libpgf for PGF image handling become vulnerable to remote code execution or denial of service, potentially compromising systems that process untrusted graphics files and increasing risk in image-heavy workflows.
How an attack unfolds
An attacker creates a malformed PGF image file that triggers the use-after-free during decoding; when a vulnerable application processes the file, the freed memory is reused to inject and execute attacker-controlled code.
How to fix it
Upgrade libpgf to version 6.15.32 or later; rebuild and redeploy any dependent applications with the patched library.
How to confirm the fix worked
Confirm libpgf version is 6.15.32 or higher via package manager or build logs; test decoding of known-good and edge-case PGF files for stability.
Typical attack path
- Craft a malicious PGF image exploiting the Decoder.cpp flaw
- Deliver the image via network, email, or file share to a target application
- Trigger image decoding in the vulnerable libpgf library
- Leverage the resulting memory corruption for code execution or crash
How to detect it
Monitor application logs and crash reports for memory access violations or segmentation faults during PGF decoding; review process dumps for signs of memory reuse anomalies in image-handling code paths.
What your security team should do
- Prioritize updating libpgf across all affected systems due to remote code execution potential
- Inventory applications and dependencies using libpgf
- Implement network segmentation or input sanitization for untrusted PGF files until patched
The record
Use-after-free vulnerability in Decoder.cpp in libpgf before 6.15.32.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | libpgf | 0 | 6.14.12-3.2 |
| Debian:12 | libpgf | 0 | 6.14.12-3.2 |
| Debian:13 | libpgf | 0 | 6.14.12-3.2 |
| Debian:8 | libpgf | 0 | 6.14.12-3+deb8u1 |
| Mageia:6 | libpgf | 0 | 6.12.24-7.1.mga6 |
| Ubuntu:16.04:LTS | libpgf | 0 | 6.14.12-3.1ubuntu0.1 |
| Ubuntu:18.04:LTS | libpgf | 0 | 6.14.12-3.2 |
| Ubuntu:20.04:LTS | libpgf | 0 | 6.14.12-3.2 |
Related vulnerabilities
- CVE-2026-109618 PHP uses longjmp() for out-of-memory (OOM) errors to exit the current context and abort… CWE-416
- CVE-2026-109619 PHP has various global state that temporarily points into request memory. CWE-416
- CVE-2026-112402 Pillow is a Python imaging library. CWE-416
- CVE-2026-112396 Pillow is a Python imaging library. CWE-416
- CVE-2025-55654 A use-after-free in the gf_filter_pid_get_packet function (filter_core/filter_pid.c) of… CWE-416
- CVE-2026-17591 A flaw was found in libarchive. CWE-416
- CVE-2026-92392 During an upload, curl mishandles HTTP/2 `RST_STREAM` received from the server (with… CWE-416
- CVE-2026-109268 ImageMagick before 6.9.13-57 and 7.x before 7.1.2-32 contains a use after free… CWE-416