When decoding an OpenEXR file that uses DWAA or DWAB compression, there's an implicit assumption that the height and width are divisible by 8. If the height or width of the image is not divisible by 8, the copy loops at [0] and [1] will continue to write until the next multiple of 8. The buffer td->uncompressed_data is allocated in decode_block based on the precise height and width of the image, so the "rounded-up" multiple of 8 in the copy loop can exceed the buffer bounds, and the write block starting at [2] can corrupt following heap memory. We recommend upgrading to version 8.0 or beyond.
References
History

Mon, 06 Oct 2025 08:15:00 +0000

Type Values Removed Values Added
Description When decoding an OpenEXR file that uses DWAA or DWAB compression, there's an implicit assumption that the height and width are divisible by 8. If the height or width of the image is not divisible by 8, the copy loops at [0] and [1] will continue to write until the next multiple of 8. The buffer td->uncompressed_data is allocated in decode_block based on the precise height and width of the image, so the "rounded-up" multiple of 8 in the copy loop can exceed the buffer bounds, and the write block starting at [2] can corrupt following heap memory. We recommend upgrading to version 8.0 or beyond.
Title Heap-buffer-overflow write in FFmpeg EXR dwa_uncompress
Weaknesses CWE-787
References
Metrics cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:A/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: Google

Published:

Updated: 2025-10-06T08:09:31.276Z

Reserved: 2025-09-19T08:11:37.550Z

Link: CVE-2025-59732

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2025-10-06T08:15:34.920

Modified: 2025-10-06T08:15:34.920

Link: CVE-2025-59732

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

No data.