When decoding an OpenEXR file that uses DWAA or DWAB compression, there's an implicit assumption that all image channels have the same pixel type (and size), and that if there are four channels, the first four are "B", "G", "R" and "A". The channel parsing code can be found in decode_header. The buffer td->uncompressed_data is allocated in decode_block based on the xsize, ysize and computed current_channel_offset.
The function dwa_uncompress then assumes at [5] that if there are 4 channels, these are "B", "G", "R" and "A", and in the calculations at [6] and [7] that all channels are of the same type, which matches the type of the main color channels.
If we set the main color channels to a 4-byte type and add duplicate or unknown channels of the 2-byte EXR_HALF type, then the addition at [7] will increment the pointer by 4-bytes * xsize * nb_channels, which will exceed the allocated buffer.
We recommend upgrading to version 8.0 or beyond.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alpine Linux | — | Upgrade ffmpeg | Dec 5, 2025 | Oct 6, 2025 |
| Debian | — | Upgrade ffmpeg | Oct 21, 2025 | Oct 21, 2025 |
| Ffmpeg | — | Upgrade to FFmpeg version 6.1.3Upgrade to FFmpeg version 5.1.7Upgrade to FFmpeg version 7.1.2Upgrade to FFmpeg version 8.0 | Jul 20, 2026 | Oct 6, 2025 |
| Ubuntu | — | Upgrade ffmpegUpgrade libavcodec58 (Ubuntu Pro)Upgrade libavformat60 (Ubuntu Pro)Upgrade libavcodec61Upgrade libavcodec57 (Ubuntu Pro)Upgrade libavcodec60 (Ubuntu Pro)Upgrade libavformat57 (Ubuntu Pro)Upgrade libavcodec-ffmpeg56 (Ubuntu Pro)Upgrade libavcodec-extra (Ubuntu Pro)Upgrade ffmpeg (Ubuntu Pro)Upgrade libavformat61Upgrade libavformat-ffmpeg56 (Ubuntu Pro)Upgrade libavformat58 (Ubuntu Pro) | Jan 29, 2026 | Oct 6, 2025 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub