Bug 2539597 (CVE-2026-96545) - CVE-2026-96545 gimp: gimp: out-of-bounds heap read in the 4bpp TIM image loader
Summary: CVE-2026-96545 gimp: gimp: out-of-bounds heap read in the 4bpp TIM image loader
Keywords:
Status: NEW
Alias: CVE-2026-96545
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 2539598
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-23 17:59 UTC by OSIDB Bzimport
Modified: 2026-09-23 18:00 UTC (History)
2 users (show)

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


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-09-23 17:59:19 UTC
An out-of-bounds heap read flaw was found in GIMP's TIM image loader. When a crafted 4bpp TIM image has a palette large enough to enable promote_to_rgb, the loader creates an RGBA layer but allocates the row buffer using the smaller indexed-image size. The file-tim plug-in allocates width times two bytes for a two-row buffer, while gegl_buffer_set() interprets the same buffer as RGBA data and reads width times eight bytes. This reads width times six bytes beyond the row buffer for every pair of rows. Adjacent heap contents are copied into the decoded image as pixel data, potentially exposing process memory if the resulting image is saved or shared; the invalid read may also crash the plug-in. The issue was reproduced with AddressSanitizer and differential images in GIMP 3.2.6, and the same code was present in the main branch. All versions are reported as affected. This is distinct from CVE-2026-40916, whose fix enlarged the row buffer for indexed layers but did not account for promote_to_rgb, and CVE-2026-59089, which addressed separate palette-size arithmetic. 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.