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

CVE-2026-79902

CVE-2026-79902 Integer Overflow in Tomas J. Sahagun
📅 PUBLISHED: 2026-08-26 00:00 UTC 🔄 UPDATED: 2026-09-26 06:21 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.20%
👁️
0.20% probability
5.0× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1499
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Global License: Open Source
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 5.5
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: N Confidentiality None
I: N Integrity None
A: H Availability High
5.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-79902 is an unpatched denial-of-service vulnerability residing in the Seattle FilmWorks (SFW) plugin component of the GNU Image Manipulation Program (GIMP). The flaw is triggered when a user opens a specially crafted SFW image file, causing the plugin to perform an unbounded stack allocation on a Variable-Length Array (VLA) due to missing integer overflow checks. This results in a complete application crash, affecting any GIMP deployment that includes the SFW plugin — commonly present in default Linux distributions. The vulnerability requires user interaction (opening a malicious file) and has a local attack vector with a CVSS score of 5.5. At the time of writing, no vendor patch exists, and the flaw remains exploitable against all known versions of the plugin.

⚡ 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 vulnerability resides in the Seattle FilmWorks import/export plugin (file-sfw) bundled with GIMP. The Seattle FilmWorks format was a proprietary image format used by the defunct Seattle FilmWorks photo-printing service in the 1990s and early 2000s; the plugin remains present in modern GIMP builds for legacy file compatibility.

Vulnerability Mechanism: The core flaw is a stack-based buffer allocation issue tied to improper integer arithmetic. When the plugin processes an SFW file header, it reads dimension fields (width and height) from the file and uses them to compute the size of a Variable-Length Array (VLA) on the stack. Critically, the plugin does not perform integer overflow validation on these dimension values before computing the product width × height × bytes_per_pixel. An attacker who crafts an SFW file with extremely large dimension values can cause the multiplication to overflow a 32-bit integer, wrapping to a small (or zero) value. The plugin then allocates a stack buffer based on the overflowed, undersized value, or — in the alternate scenario — the dimensions are so large that the computed allocation size exceeds the stack limit, causing an unbounded allocation attempt.

Impact of Unbounded Stack Allocation: When the VLA size exceeds the operating system's stack guard-page threshold (typically a few megabytes on Linux), the kernel raises a stack-overflow fault (SIGSEGV). Since VLA allocation in C occurs at runtime without bounds checking, there is no opportunity for the program to recover gracefully. The result is an immediate and unrecoverable process crash. No memory corruption or code execution is achievable through this specific flaw; the consequence is strictly a denial of service.

Attack Surface: The attack surface is any user-facing GIMP installation. Attack vectors include:

  • Phishing campaigns delivering a malicious .sfw file attached to email.
  • Malicious files hosted on websites, delivered via browser download and subsequently opened in GIMP.
  • Shared network drives or collaboration platforms containing poisoned SFW files.

Root Cause Classification: The flaw maps to CWE-190 (Integer Overflow or Wraparound), a common class of bug in file parsers that handle untrusted metadata without proper arithmetic validation. The secondary effect — an over-large VLA — is a variant of CWE-770 (Allocation of Resources Without Limits or Throttling). The absence of bounds checks on attacker-controlled file metadata is the root cause.

Code-Level Explanation: While the exact function names and code paths are not publicly documented, the pattern is consistent with typical C file parsers: the plugin reads a fixed-length header, parses 32-bit little-endian integers for image width and height, and computes a buffer size via multiplication. The flaw could be remediated by validating that the product does not exceed INT_MAX (using size_t arithmetic or explicit overflow checks) and by using heap allocation (malloc/g_malloc) instead of a VLA for the decoded-image pixel buffer.

Exploitation Scenarios

No public PoC exists for this vulnerability, and there is no evidence of in-the-wild exploitation as of the report date. The attack chain is inferred from the vulnerability class and standard file-parser exploitation techniques.

Step 1 — Reconnaissance/Target Identification: An attacker identifies GIMP users through standard targeting methods: scraping public forums, LinkedIn profiles that mention photo-editing skills, or using social engineering lures themed around photography or legacy image formats. The attacker crafts a malicious SFW file using a hex editor or a script that constructs a synthetic SFW header with extreme 32-bit dimension values (e.g., 0xFFFFFFFF for width and height — approximately 4.29 billion pixels each).

Step 2 — Flaw Trigger: The attacker delivers the file via email attachment, a Discord/Slack upload, or a link on a forum. The victim downloads the file and opens it in GIMP using the standard "Open" dialog. GIMP automatically dispatches the file to the SFW plugin based on the .sfw extension or MIME-type detection. The plugin parses the header and reads the oversized dimensions.

Step 3 — Payload Execution: Upon header parsing, the plugin computes the allocation size for the pixel buffer. The integer overflow produces either (a) a small positive value that fails an upstream sanity check and triggers a crash path, or (b) a value within the signed 32-bit range but large enough to exceed the stack size limit (e.g., 8 megabytes). The VLA declaration causes the stack pointer to advance beyond the guard page region, causing the kernel to emit a segmentation fault. GIMP terminates immediately.

Step 4 — Post-Exploitation Impact: The victim loses any unsaved work in the current GIMP session. If GIMP is part of an automated image-processing pipeline (e.g., a batch-tiling script or a server-side thumbnailer), the crash can interrupt production workflows. In a multi-user environment (shared Linux workstation), a malicious file left in a shared directory can repeatedly crash GIMP for all users who open it. The attacker does not gain code execution, data exfiltration, or lateral movement capabilities; the impact is confined to the GIMP process itself.

Impact Assessment

CVSS Rationale (Score: 5.5, Medium): The vector is CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H. The local attack vector (AV:L) reflects that the file must be opened by a local user. Attack complexity is low (AC:L) — no special conditions are needed beyond opening the file. No privileges are required (PR:N), and user interaction is required (UI:R). The scope is unchanged (S:U). The sole impact is high availability loss (A:H); confidentiality and integrity are unaffected.

Business Impact:

  • Individual Users: Loss of unsaved work; frustration; potential data loss if the user had multiple images open.
  • Creative Agencies/Studios: Interrupted production pipelines; downstream tasks in automation scripts fail; SLA breaches for time-critical deliverables.
  • Linux Distributions: GIMP is the default image editor on most distributions (Fedora, Ubuntu, Debian, Arch). A crafted SFW file can serve as a low-effort nuisance vector in shared environments.
  • OT/ICS Environments: Any Linux-based HMI or SCADA workstation that includes GIMP for documentation purposes is equally affected, though this is not a primary attack path.

Blast Radius: The vulnerability is confined to the GIMP process. No adjacent services, data files, or network components are affected. The lack of memory-corruption primitives makes privilege escalation or code execution infeasible. Patch confidence is 0/4 — no upstream fix is available. The SFW plugin is legacy code with minimal maintenance priority, and as of the report date, the GIMP development team has not released a patched version.

Detection Guidance

Sigma Rule

Sigma rules are YAML-based; this rule detects GIMP process crashes attributed to SFW file processing via operating-system crash artifacts.

title: GIMP SFW Plugin Stack Overflow Crash
id: 7f3d9a2e-4c51-4b8e-9d66-1a2b3c4d5e6f
status: experimental
description: Detects GIMP process crashes when opening malicious Seattle FilmWorks (.sfw) files, indicating a stack-overflow denial-of-service attempt.
logsource:
  product: linux
  service: auditd
detection:
  selection_gimp:
    type: ANOM_ABEND
    exe: '*gimp*'
  selection_sigsegv:
    signal:
      - SIGSEGV
    type: ANOM_ABEND
  condition: selection_gimp and selection_sigsegv
falsepositives:
  - Legitimate GIMP crashes due to memory pressure or other bugs
level: medium
tags:
  - attack.impact
  - attack.t1499.001

YARA Rule

This YARA rule matches SFW files containing extreme dimension values in the header, serving as a triage filter for suspicious files.

rule sfw_integer_overflow_cve_2026_79902
{
    meta:
        author = "Valters IT Security Research"
        date = "2026-08-14"
        description = "Detects Seattle FilmWorks files with oversized dimension fields triggering CVE-2026-79902"
        threat = "Denial of Service"
        cve = "CVE-2026-79902"
    strings:
        $sfw_magic = "SFW" ascii
    condition:
        $sfw_magic at 0 and
        // Check width/height fields at offsets 8 and 12 (32-bit little-endian)
        uint32(8) > 0x7FFFFFFF and uint32(12) > 0x7FFFFFFF
}

Suricata IDS Rule

Network-based detection is not effective for this vulnerability because the malicious file is delivered over protocols that Suricata may see (HTTP, SMTP), but the file content is opaque. At minimum, Suricata can flag SFW file transfer patterns, though this is a weak indicator. A more robust approach is to alert on inline file extraction:

alert http any any -> $HOME_NET any (msg:"CVE-2026-79902 - Malicious SFW file delivery detected"; flow:established,to_server; fileext:"sfw"; threshold:type limit, track by_src, count 1, seconds 60; classtype:attempted-dos; sid:202679902; rev:1;)

Note: This rule generates false positives for legitimate SFW file transfers, but with threat intelligence enrichment (file hashes) it can support manual triage.

Elastic Detection

Elastic EQL rule to detect GIMP crashes on Linux:

// EQL for Elastic Security - Detect GIMP crash events
sequence
  [ process where process.name == "gimp" and event.action == "exec" ]
  [ process where process.name == "gimp" and event.action == "end" and process.exit_code == 139 ]
  [ file where event.action == "open" and file.name == "*.sfw" ]

Splunk SPL Query

Splunk query for Linux audit.log or systemd journal entries indicating a GIMP crash:

index=linux_audit OR index=linux_journal
| search (sourcetype=junit OR sourcetype=linux_audit) ("gimp" OR "GIMP")
| search (SIGSEGV OR "segfault" OR "segmentation fault" OR exit_code=139)
| table _time, host, user, process, executable, signal, exit_code
| where executable LIKE "%gimp%" OR process LIKE "%gimp%"

Wazuh OSSEC Rule

Wazuh XML rule to detect repeated GIMP crashes, potentially from scripted exploitation attempts:

<rule id="357446" level="8">
  <decoded>ossec.log</decoded>
  <field name="program_name">gimp</field>
  <field name="msg">Segmentation fault|Fatal error|SIGSEGV|Core dumped</field>
  <description>CVE-2026-79902: GIMP SFW plugin crash - potential DoS attempt</description>
  <group>dos, impact, gimp, cve_2026_79902</group>
  <mitre>
    <id>T1499</id>
    <phase>IMPACT</phase>
  </mitre>
  <options>no_full_log</options>
  <frequency>3</frequency>
  <timeframe>120</timeframe>
  <if_matched_sid>39902</if_matched_sid>
  <level>10</level>
  <description>CVE-2026-79902: Multiple GIMP SFW crashes - exploitation attempt likely</description>
</rule>

Mitigation & Patch Guidance

Patch Confidence: 0/4 — UNPATCHED. No patch exists from the GIMP project or major Linux distributions as of the report date.

Immediate Mitigations:

  1. Restrict file handling: Configure GIMP to reject .sfw files. This can be done by renaming the plugin binary (gimp-file-sfw → gimp-file-sfw.disabled) in the GIMP plugin directory (/usr/lib/gimp/2.0/plug-ins/ or /usr/lib64/gimp/2.0/plug-ins/ on RedHat-family; /usr/lib/x86_64-linux-gnu/gimp/2.0/plug-ins/ on Debian-family). Note: the exact plugin binary name varies; verify with gimp -r '(gimp-plugin-list)' or list directory contents.
  2. Endpoint control: Use application allow-listing (e.g., SELinux, AppArmor) to prevent GIMP from reading files outside expected directories.
  3. User education: Immediately train users not to open image files from untrusted sources, particularly files with .sfw extensions.
  4. Alternative tools: Redirect users to raw-image viewers (e.g., ImageMagick, digiKam) that do not include the SFW plugin, until a patch is available.

Patch/Upgrade Steps:

  1. Monitor the GIMP Git repository and release announcements for CVE-2026-79902. Once a fix lands in the file-sfw code, upgrade to the affected release:
    • sudo apt update && sudo apt upgrade gimp (Debian/Ubuntu)
    • sudo dnf update gimp (Fedora/RHEL)
  2. If distributions backport the fix — check for the numeric CVE in cve-update-db on Red Hat's security portal or the Ubuntu CVE tracker.
  3. For source builds: git pull the GIMP repository and rebuild once the fix is committed.

Long-Term Hardening:

  1. Static analysis integration: GIMP should integrate compiler sanitizers (-fsanitize=undefined / -fsanitize=address) into CI builds to catch integer-overflow and stack-allocation issues pre-release.
  2. Code review policy: The SFW plugin is legacy code; consider deprecating the format entirely or wrapping all parsing in hardened memory-safe wrappers (g_try_new with overflow checks).
  3. Sandboxing: Run GIMP under Firejail or bubblewrap with restricted filesystem access to limit the impact of file-processing vulnerabilities.
  4. Vulnerability disclosure: Given the 0/4 patch confidence, consider responsible disclosure follow-up with the GIMP maintainers if a PoC is developed, emphasizing the low cost of an integer-overflow check.

References

  1. NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2026-79902 — Official CVE details and CVSS vector.
  2. GIMP Official Site: https://www.gimp.org/ — Vendor project; monitor "News" section for release notes and security updates.
  3. CWE-190 (Integer Overflow or Wraparound): https://cwe.mitre.org/data/definitions/190.html — Taxonomy reference for the root-cause class.
  4. Seattle FilmWorks format documentation (archived): https://web.archive.org/web/2005*/sfw — Historical reference for the proprietary format; useful for understanding the header layout.
  5. CISA KEV Catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog — No entry for CVE-2026-79902; revisit periodically.

Known Threat Actor Campaigns: None reported. Exploit-in-the-Wild Evidence: None confirmed. Public PoC: None available. Analysis is based on the vulnerability class and NVD description.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

product:"Gimp"
title:"Gimp"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-79902/ · 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.