Bug 2539562

Summary: CVE-2026-96543 gimp: gimp: out-of-bounds heap write when loading non-square PVR images [fedora-all]
Product: [Fedora] Fedora Reporter: Vladimir Vasilev <vvasilev>
Component: gimpAssignee: Nils Philippsen <nphilipp>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: high    
Version: rawhideCC: jridky, nphilipp, phracek, zdohnal
Target Milestone: ---Keywords: Security, SecurityTracking
Target Release: ---Flags: fedora-admin-xmlrpc: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: {"flaws": ["8e02cc75-2a8a-4c29-911c-3a3057e703af"]}
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2539392    

Description Vladimir Vasilev 2026-09-23 17:17:53 UTC
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.

An out-of-bounds heap write flaw was found in GIMP's PVR image loader. The pvr_decode_twiddle() function checks that its source offset remains within the attacker-supplied file data, but it does not check that the destination offset remains within the allocated pixel buffer. For non-square textures whose height is not a multiple of the width, the traversal advances beyond the correctly sized destination buffer and writes file-derived pixel data out of bounds. An attacker can control the texture dimensions, overflow length, heap allocation size class, and the values written from the PVR file. Opening a crafted PVR image can therefore corrupt adjacent heap objects in the file-pvr plug-in process, potentially resulting in arbitrary code execution. The upstream report reproduced the issue with AddressSanitizer in GIMP 3.2.6 and found identical code in the main branch. Versions 3.2.0 and later are affected. This is distinct from GIMP issue 16326 because the allocation size does not wrap; the defect is the unchecked destination traversal. A patch was available, but no fixed release had been identified at the time of reporting.