Bug 2539601 (CVE-2026-96546) - CVE-2026-96546 gimp: gimp: one-byte out-of-bounds heap read in the uncompressed DDS loader
Summary: CVE-2026-96546 gimp: gimp: one-byte out-of-bounds heap read in the uncompress...
Keywords:
Status: NEW
Alias: CVE-2026-96546
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 2539602
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-23 18:04 UTC by OSIDB Bzimport
Modified: 2026-09-23 18:05 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-09-23 18:04:20 UTC
A one-byte out-of-bounds heap read flaw was found in GIMP's DDS image loader. In load_layer(), the bit-reader unconditionally increments the input pointer and fetches the next byte whenever the current byte's bits are exhausted. After processing the final pixel of an uncompressed DDS image, this logic dereferences exactly one byte beyond the allocated pixel buffer. The issue occurs with ordinary well-formed uncompressed DDS files, including files produced by GIMP itself, and was confirmed with AddressSanitizer in GIMP 3.2.6. The same code remained present in the main and gimp-3-2 branches when reported, and all versions are reported as affected. In a normal non-instrumented build, the adjacent byte is read into a local variable after the final pixel and is not known to influence the decoded image. No information disclosure or code-execution primitive was demonstrated, and a crash would require the byte immediately following the allocation to be inaccessible. This issue is distinct from CVE-2026-42170, which concerns a separate pitch-overflow write in the same file. A patch was available, but no fixed release had been identified at the time of reporting.


Note You need to log in before you can comment on or make changes to this bug.