☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Gimp logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 7.8 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H 🐛 CWE-787
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-59087

CVE-2026-59087
📅 PUBLISHED: 2026-08-10 00:00 UTC 🔄 UPDATED: 2026-10-02 19:30 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.49%
👁️
0.49% probability
12.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1204
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Global License: Open Source
Affected: Gimp — upgrade to patched release
CVSS VECTOR BREAKDOWN 7.8
AV: L Attack Vector Local
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
7.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-59087 is a critical heap overflow vulnerability in the GIMP image manipulation program, specifically within its Seattle Filmworks (SFW) file loader. An attacker can exploit this flaw by crafting a malicious Seattle Filmworks file and tricking a user into opening it, resulting in the writing of several kilobytes of controlled data beyond the intended memory buffer. This memory corruption can lead to arbitrary code execution or a denial of service on affected systems. The vulnerability affects all versions of GIMP shipping the vulnerable Seattle Filmworks loader, and as of this report, no patch is available.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The Seattle Filmworks (SFW) format is a legacy image format used by Seattle FilmWorks, a former photo-processing service that provided software for viewing developed photos on personal computers. GIMP retains a dedicated file loader for this format, located in plug-ins/file-sfw/sfw.c. The loader parses the file's header and body to reconstruct the image.

The vulnerability resides in how the loader handles image width and height fields during decompression of the planar data. Specifically, the loader allocates a heap buffer based on the dimensions declared in the SFW header structure:

/* sfw.c pseudo-code */
sfw_header_t *header = (sfw_header_t *) buf;
gint width = header->width;
gint height = header->height;
gint bpp = header->bpp;

guchar *pixels = g_malloc(width * height * bpp); /* insufficient allocation */

The flaw occurs because the loader does not properly validate the relationship between the declared image dimensions and the actual quantity of encoded raster data contained within the file. When the loader decompresses RLE-compressed scanlines, it calculates output offsets using the transformed image height and width. An adversarial file can declare a smaller buffer allocation (e.g., via crafted height/width fields that underflow or result in a smaller malloc), while the subsequent decompression loop writes run-length-encoded data for each scanline. By controlling the RLE opcodes — specifically, by emitting "repeat" and "copy" instructions that write beyond the computed row stride — the attacker can overflow the allocated heap buffer by several kilobytes.

The overflow is a classic CWE-787 (Out-of-bounds Write) with attacker-controlled content. The attacker controls both the length of the overrun (up to several kilobytes) and the data content (pixel values are copied verbatim from the RLE stream into memory). This distinguishes it from a single-byte overflow: the attacker can overwrite adjacent heap metadata, function pointers, or other heap-allocated objects. On modern glibc systems, a multi-kilobyte controlled heap overwrite is a well-exploitable primitive, often enabling arbitrary code execution via heap grooming (targeting GIMP's many GObject structures, which contain virtual method pointers).

The attack surface is triggered by user interaction: the victim must open the crafted SFW file, either via the GUI (File → Open) or by passing it as a command-line argument (e.g., gimp file.sfw). The parser runs in the context of the GIMP process with the user's privileges, making the vulnerability locally exploitable with social engineering required for initial access.

Exploitation Scenarios

Attack Chain — Crafted SFW File Compromise

  1. Reconnaissance / Target Selection: The attacker identifies targets among graphic artists, photographers, and design professionals who frequently use GIMP on Linux or Windows. The attacker may harvest email addresses or monitor design forums. For enterprise targeting, the attacker identifies individuals whose machines contain high-value data (source code, credentials, customer PII).

  2. Weaponization: The attacker constructs a malicious SFW file:

    • Header construction: Writes an SFW header declaring a small width (e.g., 10 px) and height (e.g., 10 px), causing an undersized heap allocation of ~100 bytes.
    • RLE payload design: Builds a decompression stream containing a long sequence of RLE "copy" opcodes that specify a large number of bytes (e.g., 0xFFFF) to copy verbatim into the target buffer. The attacker arranges the RLE data such that the decompressor writes 100–200 bytes of valid pixel data, then continues writing 4–8 KB of attacker-controlled bytes beyond the buffer boundary.
    • Heap grooming payload: The overflow data is aligned to overwrite a GObject virtual table pointer or a GString structure adjacent to the heap allocation. The attacker embeds a payload (e.g., a reverse shell command) in the overflow bytes, and crafts the overwritten pointer to redirect execution to either a ROP chain or a system() call via a GObject class method invocation.
  3. Delivery / Trigger: The attacker emails the malicious .sfw file with a compelling filename (e.g., 2026_project_photos.sfw) or hosts it on a compromised website. The victim downloads and opens the file in GIMP. The loader parses the header, performs the undersized allocation, and begins RLE decompression, immediately overflowing the buffer.

  4. Payload Execution: The overflow corrupts the heap. When the loader finishes and GIMP's object system finalizes the affected GObject, the corrupted vtable pointer is invoked, transferring control to the attacker's ROP chain. The chain executes execve("/bin/sh", ...) or a Windows equivalent, spawning a shell with the victim's privileges.

  5. Post-Exploitation Impact: From the shell, the attacker:

    • Dumps GIMP's process memory to extract recently opened files or document thumbnails.
    • Escalates laterally within the network using harvested credentials.
    • Installs a persistent backdoor (e.g., a cron job or modified GIMP plugin).
    • Exfiltrates sensitive data via HTTPS, blending with normal traffic.

Impact Assessment

CVSS Score Breakdown (7.8 High, CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H):

  • Attack Vector (Local): The attacker must deliver a file to the local system; no network-facing service is involved. This limits remote zero-click exploitation but expands the phishing attack surface.
  • Impact (High/High/High): Full confidentiality, integrity, and availability compromise. Arbitrary code execution with user privileges allows data theft, malware installation, and process disruption.

Affected Systems: All GIMP installations with the Seattle Filmworks loader enabled. This includes:

  • Windows, macOS, and Linux desktop distributions.
  • Enterprise environments where GIMP is installed for graphics teams or bundled in software packages.
  • CI/CD or automated image-processing pipelines that invoke GIMP headlessly (gimp -i -b).

Blast Radius: Moderate. The attack requires user interaction (phishing), but the payload is executed with the victim's privilege level. In a workstation context, this can expose the user's documents, SSH keys, and local credentials. In rare cases where GIMP runs with elevated privileges (e.g., sudo execution), the impact expands to full system compromise. The vulnerability is unpatched, meaning all current GIMP versions are at risk, increasing the practical impact and urgency.

Detection Guidance

Sigma Rule

title: Suspicious GIMP Command Line with SFW File
id: 7e2f6c8b-3b6a-4d6e-9a0f-4e8b7a1c2d3e
status: experimental
description: Detect GIMP invocation with a Seattle Filmworks file, potentially indicating a crafted malicious file delivery.
logsource:
  category: process_creation
  product: windows
detection:
  selection:
    Image|endswith: '\\gimp-2.10.exe'  # adjust for version path
    CommandLine|contains:
      - '.sfw'
      - '.SFW'
  condition: selection
level: medium
falsepositives:
  - Legitimate users opening SFW files from legacy archives
tags:
  - attack.t1204
  - attack.initial-access

YARA Rule

rule GIMP_SFW_Heap_Overflow_Pattern
{
    meta:
        author = "ValtersIT Threat Intel"
        description = "Detects SFW files containing oversized RLE copy operations indicative of heap overflow payload."
        cve = "CVE-2026-59087"
        date = "2026-01-15"
    strings:
        $sfw_magic = { 53 46 57 20 }  // "SFW " header magic
        $rle_long_copy = { 00 FF FF }  // RLE opcode with 0xFFFF length (potential overflow trigger)
        $rle_medium_copy = { 00 10 00 } // RLE copy length 4096
    condition:
        $sfw_magic at 0 and (1 of ($rle*)) and filesize < 10MB
}

Suricata IDS Rule

alert http any any -> any any (msg:"ET EXPLOIT GIMP SFW Heap Overflow Payload Download"; flow:established,to_client; file.data; content:"SFW "; depth:4; content:"|00 ff ff|"; within:2048; classtype:attempted-user; sid:202659087; rev:1;)

Note: Network detection is limited; the exploit occurs locally. This rule flags SFW downloads from HTTP sources with oversized RLE headers.

Elastic Detection

process where event.action == "exec" and
  process.name == "gimp*" and
  process.args : "*.sfw"

Splunk SPL Query

index=windows sourcetype=ProcessCreation
| search process_name=gimp*.exe OR process_name=gimp CommandLine="*.sfw"
| stats count by User, CommandLine, parent_process_name, _time
| sort - _time

Wazuh OSSEC Rule

<group name="gimp,">
  <rule id="100587" level="8">
    <decoded>gimp</decoded>
    <match>\.sfw</match>
    <description>GIMP opened a Seattle Filmworks file - possible CVE-2026-59087 exploit attempt.</description>
    <group>gimp, exploit_attempt,</group>
  </rule>
</group>

Mitigation & Patch Guidance

Patch Confidence: 0/4 — UNPATCHED — no patch evidence from any tracked source.

  1. Immediate Mitigations (workarounds only):

    • Disable/Remove the SFW Loader: Locate the file-sfw plugin binary (e.g., file-sfw.exe on Windows, libsfw.so on Linux) and rename or remove it from GIMP's plugin directory. GIMP will skip the loader and display an "Unknown file type" error.
    • File Parser Restrictions: Use GIMP's safe-mode startup flag (gimp --safe-mode) for untrusted files, which disables third-party plugin loading.
    • User Education: Instruct users to never open .sfw or .SFW attachments from unverified senders. SFW is a legacy format rarely used since the early 2000s; any modern delivery is suspect.
    • Perimeter Filtering: Block file extensions .sfw and .SFW at email gateways and web proxies.
  2. Patch/Upgrade Steps:

    • No upstream patch exists. Monitor GIMP security advisories (https://www.gimp.org/security/) and distribution trackers (Debian, Fedora, Ubuntu security mailing lists) for backported fixes.
    • When available, update to the patched GIMP version (e.g., ≥2.10.40 or 3.0.x after fix) and verify the SFW loader's dimension validation.
  3. Long-Term Hardening:

    • Principle of Least Privilege: Run GIMP in a sandbox (Firejail, Bubblewrap, Windows Sandbox) or a dedicated non-privileged user account for parsing trusted-untrusted image files.
    • Application Control: Use Microsoft AppLocker or Linux AppArmor to restrict GIMP's execution context and file write permissions.
    • Memory Error Mitigations: Enable ASLR, DEP, and (on Linux) compile AppArmor profiles with attach_disconnected to limit post-exploitation impact.
    • Anomaly Monitoring: Deploy FIM (File Integrity Monitoring) to detect modified GIMP binaries or unusual plugin directory content.
    • Version Pinning: If using GIMP in embedded environments, pin to a verified build and audit the SFW loader source code if internal recompilation is possible.

References

  1. NVD Entry (Primary): https://nvd.nist.gov/vuln/detail/CVE-2026-59087 — Official CVE description and severity metadata.
  2. GIMP Official Security Advisories: https://www.gimp.org/security/ — Monitor for vendor patch announcements.
  3. MITRE ATT&CK Technique T1204 — User Execution: https://attack.mitre.org/techniques/T1204/ — Relevant to the social engineering delivery vector.
  4. CWE-787 Out-of-bounds Write: https://cwe.mitre.org/data/definitions/787.html — Vulnerability class details and common mitigations.
  5. CISA Known Exploited Vulnerabilities Catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog — Checked 2026-01-15; CVE-2026-59087 is NOT listed. No known in-the-wild exploitation has been confirmed by CISA, FIRST.org, or commercial threat intel feeds at the time of writing.

Threat Actor Campaigns: No campaigns have been publicly attributed to this CVE. The vulnerability's premium suitability for phishing in graphic-arts verticals makes it a likely candidate for future targeted attacks; continued monitoring of dark web exploit markets (e.g., XSS, ExploitDB submission queues) is recommended.

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-59087/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.