PT-2025-54689 · Nuget · Magick.Net-Q16-Anycpu+5
Published
2025-12-10
·
Updated
2025-12-10
CVSS v3.1
7.5
High
| Vector | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
Summary
The TIM (PSX TIM) image parser in ImageMagick contains a critical integer overflow vulnerability in the
ReadTIMImage function (coders/tim.c). The code reads width and height (16-bit values) from the file header and calculates image size = 2 * width * height without checking for overflow.
On 32-bit systems (or where size t is 32-bit), this calculation can overflow if width and height are large (e.g., 65535), wrapping around to a small value. This results in a small heap allocation via AcquireQuantumMemory and later operations relying on the dimensions can trigger an out of bounds read.Vulnerable Code
File:
coders/tim.cc
width=ReadBlobLSBShort(image);
height=ReadBlobLSBShort(image);
image size=2*width*height; // Line 234 - NO OVERFLOW CHECK!Impact
This vulnerability can lead to Arbitrary Memory Disclosure due to an out of bounds read on 32-bit systems.
Fix
Out of bounds Read
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Magick.Net-Q16-Anycpu
Magick.Net-Q16-Hdri-Anycpu
Magick.Net-Q16-Hdri-X86
Magick.Net-Q16-X86
Magick.Net-Q8-Anycpu
Magick.Net-Q8-X86