CVE-2026-2239
NixOS vulnerability analysis and mitigation

Overview

CVE-2026-2239 is a heap-buffer-overflow vulnerability in GIMP's PSD (Photoshop Document) file parser that can cause an application-level Denial of Service. The flaw exists in the fread_pascal_string function within plug-ins/file-psd/psd-util.c, where a buffer allocated for a Pascal string is not null-terminated, leading to an out-of-bounds read when strlen() is subsequently called. It affects GIMP version 3.2.0-rc3 and is also tracked against Red Hat Enterprise Linux 7.0, 8.0, and 9.0. The vulnerability was first reported on February 9, 2026, and carries a CVSS v3.1 base score of 6.5 (Medium) (Red Hat CVE, Red Hat Bugzilla).

Technical details

The root cause is improper null termination (CWE-170) in the fread_pascal_string() function in plug-ins/file-psd/psd-util.c. At line 277, the function allocates a buffer of len bytes using g_malloc(len) and reads len bytes from the file into it, but does not null-terminate the buffer. When this buffer is subsequently passed to gimp_any_to_utf8() at line 302, downstream code calls strlen() on the raw buffer, reading one byte past the end of the allocated region — a heap-buffer-overflow READ. The attack vector is network-adjacent (a user must open a crafted PSD file), requires no privileges, but does require user interaction. A PoC was demonstrated using AddressSanitizer, which confirmed a READ of size 15 at 0 bytes after a 14-byte region, triggering an abort (Red Hat Bugzilla).

Impact

Successful exploitation causes GIMP to crash when opening a specially crafted PSD file, resulting in an application-level Denial of Service. There is no confidentiality or integrity impact — the vulnerability is limited to availability. The scope is confined to the affected GIMP process; no lateral movement or data exfiltration is possible through this vulnerability alone (Red Hat CVE, Red Hat Bugzilla).

Exploitability

A proof-of-concept (PoC) PSD file was included in the original bug report and demonstrated via AddressSanitizer, confirming reproducibility. The EPSS score is approximately 0.012% (0.000120), indicating a very low probability of widespread exploitation. There is no evidence of in-the-wild exploitation, no known threat actor attribution, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The vulnerability requires user interaction — a victim must open a malicious PSD file — limiting its exploitability (Red Hat Bugzilla, GNOME GitLab).

Exploitation steps

  1. Craft a malicious PSD file: Create a PSD file with a layer whose Pascal string name has a specific length (e.g., 14 bytes) and contains no null byte within those bytes, so that strlen() will read past the end of the allocated buffer.
  2. Deliver the file to the target: Send the crafted PSD file to the victim via email, file sharing, or a web download, relying on social engineering to prompt the user to open it in GIMP.
  3. Trigger file parsing: The victim opens the file in GIMP (File → Open). GIMP's PSD plugin calls load_imageread_layer_blockread_layer_infofread_pascal_string.
  4. Trigger the heap-buffer-overflow: Inside fread_pascal_string (psd-util.c:277), a 14-byte buffer is allocated without null termination. At line 302, gimp_any_to_utf8 calls g_strdup which calls strlen, reading 15 bytes and overflowing the heap buffer.
  5. Application crash: GIMP aborts due to the out-of-bounds read, achieving a Denial of Service against the application (Red Hat Bugzilla).

Indicators of compromise

  • File System: Presence of unexpected or unsolicited .psd files in user download directories or email attachments, particularly files with unusual layer name structures.
  • Logs: GIMP crash reports or core dumps referencing fread_pascal_string, psd-util.c, or psd-load.c in stack traces; AddressSanitizer output mentioning heap-buffer-overflow in strlen called from gimp_any_to_utf8.
  • Process: Unexpected GIMP process termination (crash/abort) immediately after opening a PSD file, especially with no prior stability issues (Red Hat Bugzilla).

Mitigation and workarounds

Patches have been tracked through Red Hat's Bugzilla system (Bug ID: 2437675) and are available for GIMP and affected Red Hat Enterprise Linux versions (7.0, 8.0, 9.0). The suggested code fix is to allocate len+1 bytes in fread_pascal_string() and set str[len] = '\0' before passing the buffer to gimp_any_to_utf8, or to ensure all callers use the length parameter and never assume null termination. As a workaround, users should avoid opening untrusted or unexpected PSD files from unknown sources. Debian, Fedora, and Amazon Linux 2 have also issued updated packages addressing this vulnerability (Red Hat Bugzilla, Red Hat CVE).

Community reactions

The vulnerability received coverage from Linux security news aggregators including LinuxSecurity.com (Debian DSA-6139-1 advisory), LinuxCompatible.org (Debian and Fedora 43 update coverage), and German security site Pro-Linux.de. Amazon Linux 2 issued advisory ALAS2GIMP-2026-011 addressing the flaw. No notable researcher commentary or significant social media discussion has been identified beyond standard patch notification channels.

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

gimp: 2.10.34-1+deb12u8

Fixed

sid

gimp: 3.2.0~RC2-3.2

Fixed

trixie

gimp: 3.0.4-3+deb13u6

Fixed

Ubuntu

Unknown

bionic (esm-apps)

gimp

Unknown

devel

gimp

Unknown

focal (esm-apps)

gimp

Unknown

jammy

gimp

Unknown

jammy (esm-apps)

gimp

Unknown

noble

gimp

Unknown

noble (esm-apps)

gimp

Unknown

resolute

gimp

Unknown

RHEL / CentOS

Affected

RHEL 8

gimp:2.8/gimp.src

Affected

RHEL 9

gimp.src

Affected

SourceThis report was generated using AI

Related NixOS vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-86738CRITICAL9.3
  • NixOS logoNixOS
  • snipe-it
NoYesSep 08, 2026
CVE-2026-86734HIGH7.1
  • NixOS logoNixOS
  • snipe-it
NoYesSep 08, 2026
CVE-2026-86735MEDIUM5.9
  • NixOS logoNixOS
  • snipe-it
NoYesSep 08, 2026
CVE-2026-86737MEDIUM5.3
  • NixOS logoNixOS
  • snipe-it
NoYesSep 08, 2026
CVE-2026-86736MEDIUM5.3
  • NixOS logoNixOS
  • snipe-it
NoYesSep 08, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management