Skip to main content
CVE Vulnerability Database

CVE-2026-2047: GIMP ICNS File Parsing RCE Vulnerability

CVE-2026-2047 is a heap-based buffer overflow RCE vulnerability in GIMP's ICNS file parser that allows attackers to execute arbitrary code when users open malicious files. This article covers technical details, impact, and mitigations.

Updated:

CVE-2026-2047 Overview

CVE-2026-2047 is a heap-based buffer overflow vulnerability in GIMP that allows attackers to execute arbitrary code by tricking a user into opening a malicious Apple Icon Image (ICNS) file. The flaw resides in the ICNS file parser, which fails to validate the length of user-supplied data before copying it into a heap-allocated buffer. Exploitation requires user interaction, such as opening a crafted file or visiting a page that delivers one. The vulnerability was reported through the Zero Day Initiative as ZDI-CAN-28530 and published as ZDI-26-120. Successful exploitation leads to code execution in the context of the GIMP process.

Critical Impact

Attackers can achieve arbitrary code execution under the privileges of the user running GIMP by delivering a malicious ICNS file.

Affected Products

  • GIMP 3.0.6
  • GIMP installations on Windows, macOS, and Linux that include the ICNS file format plug-in
  • Workflows that automatically parse or thumbnail untrusted ICNS files using GIMP

Discovery Timeline

  • 2026-02-20 - CVE-2026-2047 published to NVD
  • 2026-02-24 - Last updated in NVD database

Technical Details for CVE-2026-2047

Vulnerability Analysis

The vulnerability is a heap-based buffer overflow [CWE-122] combined with an out-of-bounds write [CWE-787] in GIMP's ICNS image format parser. ICNS is Apple's container format for icon resources, comprising multiple typed chunks that describe images at different resolutions and color depths. GIMP's parser reads these chunks and copies their contents into heap buffers sized using metadata embedded in the file. The parser does not adequately validate the declared chunk length against the destination buffer size before performing the copy. An attacker who controls the chunk header can force the copy to extend past the end of the allocated buffer, corrupting adjacent heap metadata and application objects.

Root Cause

The root cause is missing length validation prior to a heap memory copy in the ICNS plug-in. The parser trusts attacker-controlled size fields from the file when computing how many bytes to write into the destination buffer. Because the destination allocation is sized independently or based on a different assumption, the copy operation writes outside the bounds of the buffer.

Attack Vector

Exploitation is local and requires user interaction. The target user must open a malicious ICNS file in GIMP, or open a project, archive, or web page that causes GIMP to parse one. Attackers can deliver the file through email attachments, file-sharing platforms, software repositories, or supply chain channels. Once parsed, the overflow allows the attacker to corrupt heap-resident structures and steer execution toward code under their control, running with the privileges of the local user. See the GNOME GIMP merge request for the corrective changes to the parser. No verified public proof-of-concept code is available at the time of writing.

Detection Methods for CVE-2026-2047

Indicators of Compromise

  • ICNS files received from untrusted sources that contain malformed or oversized chunk length fields inconsistent with declared image dimensions.
  • GIMP processes spawning unexpected child processes such as command shells, scripting interpreters, or network utilities shortly after opening an image file.
  • Crashes, abnormal terminations, or heap corruption messages from the gimp process when opening ICNS files.

Detection Strategies

  • Inspect ICNS files at email and web gateways, validating chunk headers against the actual file size and rejecting structurally invalid samples.
  • Monitor endpoints for GIMP process behavior that deviates from normal image editing, including memory allocation anomalies and unexpected module loads.
  • Correlate file open events for .icns extensions with subsequent process creation and network activity from the GIMP binary.

Monitoring Recommendations

  • Enable application crash telemetry and Windows Error Reporting or systemd-coredump on workstations where GIMP is installed.
  • Forward endpoint process, file, and image-loading telemetry to a centralized analytics platform to hunt for post-exploitation behavior originating from gimp.
  • Track the GIMP package version across the fleet and alert when version 3.0.6 or earlier remains installed after patches become available.

How to Mitigate CVE-2026-2047

Immediate Actions Required

  • Upgrade GIMP to a version that includes the fix referenced in GNOME GitLab merge request 2600.
  • Instruct users not to open ICNS files from untrusted email attachments, downloads, or shared drives until patches are applied.
  • Restrict file association so that .icns files do not open automatically in GIMP from web browsers or mail clients.

Patch Information

The GIMP project addressed the issue through changes landed in merge request 2600 in the GNOME GitLab repository, identified by commit dd2faac351f1ff2588529fedc606e6a5f815577c. Administrators should track distribution package updates and upgrade beyond GIMP 3.0.6 once a fixed release is published. Refer to ZDI-26-120 for the coordinated advisory.

Workarounds

  • Remove or disable the ICNS file format plug-in from the GIMP plug-ins directory until the fixed version is deployed.
  • Block inbound ICNS attachments at the mail gateway and quarantine ICNS files downloaded from external web sources.
  • Run GIMP under a standard user account with application sandboxing or AppArmor or SELinux profiles that limit filesystem and process creation rights.
bash
# Example: locate and disable the ICNS plug-in on Linux installations
find /usr/lib /usr/local/lib ~/.config/GIMP -type f -name 'file-icns*' 2>/dev/null
# Move the plug-in out of the load path to prevent ICNS parsing
sudo mv /usr/lib/gimp/3.0/plug-ins/file-icns /root/file-icns.disabled

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.