Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2025-10920

CVE-2025-10920: GIMP ICNS File Parsing RCE Vulnerability

CVE-2025-10920 is a remote code execution vulnerability in GIMP's ICNS file parser that allows attackers to execute arbitrary code through malicious files. This article covers technical details, affected versions, and mitigation.

Published:

CVE-2025-10920 Overview

CVE-2025-10920 is an out-of-bounds write vulnerability [CWE-787] in the GNU Image Manipulation Program (GIMP). The flaw exists in the parser that handles Apple Icon Image (ICNS) files. GIMP fails to properly validate user-supplied data before writing to an allocated buffer. An attacker who convinces a user to open a crafted ICNS file can execute arbitrary code in the context of the GIMP process. The issue was reported through the Zero Day Initiative as ZDI-CAN-27684 and disclosed as ZDI-25-909. GIMP version 3.0.4 is confirmed affected.

Critical Impact

Successful exploitation grants arbitrary code execution under the privileges of the user running GIMP, which on most desktop installations equals full user-account compromise.

Affected Products

  • GIMP 3.0.4
  • GIMP installations processing ICNS files via the affected parser
  • Workflows that auto-preview or thumbnail ICNS files using GIMP libraries

Discovery Timeline

  • 2025-10-29 - CVE-2025-10920 published to the National Vulnerability Database
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2025-10920

Vulnerability Analysis

The vulnerability resides in the ICNS file format parser within GIMP. ICNS is Apple's icon container format that stores multiple image representations at varying resolutions and color depths. GIMP supports reading ICNS files to allow cross-platform icon editing.

During parsing, the code computes write offsets and sizes based on values taken directly from the file. The parser does not validate these values against the bounds of the destination buffer. A crafted ICNS file can therefore trigger a write past the end of an allocated heap buffer, corrupting adjacent memory. Attackers can shape this corruption into a controlled write primitive and pivot to arbitrary code execution within the GIMP process.

Root Cause

The root cause is missing length validation between attacker-controlled fields in the ICNS structure and the size of the buffer allocated to receive parsed image data. This pattern matches CWE-787 (Out-of-bounds Write). The fix is tracked in GitLab GIMP Merge Request 2443, which adds bounds checking before the affected write operations.

Attack Vector

Exploitation requires local file access combined with user interaction. The target must open a malicious ICNS file in GIMP or visit a page that delivers one. Common delivery paths include email attachments, shared file repositories, and websites distributing icon assets. File managers that invoke GIMP for thumbnail generation can expand the attack surface by triggering the parser without an explicit open action.

No authentication is required, attack complexity is low, and the scope is unchanged. Confidentiality, integrity, and availability impacts are all rated High. See the Zero Day Initiative Advisory ZDI-25-909 for additional vendor-coordinated details.

Detection Methods for CVE-2025-10920

Indicators of Compromise

  • ICNS files arriving from untrusted sources, particularly via email or web downloads, with anomalous size or malformed headers
  • Unexpected child processes spawned by gimp or gimp-3.0 after opening an image file
  • GIMP process crashes with SIGSEGV or SIGABRT traces referencing ICNS load routines
  • Outbound network connections originating from a GIMP process shortly after opening a file

Detection Strategies

  • Hunt for GIMP processes spawning shells, scripting interpreters, or networking utilities such as bash, python, curl, or wget
  • Inspect crash dumps and core files for stack frames inside ICNS loader functions to identify exploitation attempts
  • Apply YARA rules that flag ICNS files with oversized resource lengths or invalid header magic combinations

Monitoring Recommendations

  • Log file-open telemetry for .icns extensions on endpoints where GIMP is installed
  • Alert on GIMP making unexpected outbound connections or modifying autostart, cron, or systemd user units
  • Correlate browser and mail client download events with subsequent GIMP execution to surface user-interaction chains

How to Mitigate CVE-2025-10920

Immediate Actions Required

  • Inventory endpoints running GIMP 3.0.4 and prioritize them for patching
  • Instruct users to avoid opening ICNS files received from untrusted sources until a patched build is deployed
  • Disable file manager thumbnailers that delegate ICNS rendering to GIMP

Patch Information

The upstream fix is provided in GitLab GIMP Merge Request 2443. Upgrade to the GIMP release that incorporates this merge request once your distribution publishes packages. Verify package versions through your operating system's update channel and confirm the ICNS parser changes are present.

Workarounds

  • Remove or disable the ICNS plug-in in the GIMP plug-ins directory until patched binaries are installed
  • Restrict GIMP execution through application sandboxing such as Flatpak with limited filesystem permissions or AppArmor profiles
  • Use mail and web gateway rules to block or quarantine inbound .icns attachments
bash
# Example: locate and disable the ICNS plug-in on Linux until patched
find ~/.config/GIMP/3.0/plug-ins /usr/lib*/gimp/3.0/plug-ins -name 'file-icns*' -print
# Move the plug-in out of the load path
mv /usr/lib/gimp/3.0/plug-ins/file-icns /usr/lib/gimp/3.0/plug-ins/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.