Description
ImageMagick is free and open-source software used for editing and manipulating digital images. Prior to versions 6.9.13-28 and 7.1.2-2 for ImageMagick's 32-bit build, a 32-bit integer overflow in the BMP encoder’s scanline-stride computation collapses bytes_per_line (stride) to a tiny value while the per-row writer still emits 3 × width bytes for 24-bpp images. The row base pointer advances using the (overflowed) stride, so the first row immediately writes past its slot and into adjacent heap memory with attacker-controlled bytes. This is a classic, powerful primitive for heap corruption in common auto-convert pipelines. This issue has been patched in versions 6.9.13-28 and 7.1.2-2.
Problem types
CWE-122: Heap-based Buffer Overflow
CWE-190: Integer Overflow or Wraparound
Product status
< 6.9.13-28
References
github.com/...Magick/security/advisories/GHSA-mxvv-97wh-cfmm
github.com/...ommit/2c55221f4d38193adcb51056c14cf238fbcc35d7
github.com/dlemstra/Magick.NET/releases/tag/14.8.1