PT-2025-54689 · Nuget · Magick.Net-Q16-Anycpu+5

Published

2025-12-10

·

Updated

2025-12-10

CVSS v3.1

7.5

High

VectorAV: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.c
c
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

GHSA-6HJR-V6G4-3FM8

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