Skip to main content
← All vulnerabilities
CVE-2025-57803GHSA-MXVV-97WH-CFMM

ImageMagick (WriteBMPImage): 32-bit integer overflow when writing BMP scanline stride → heap buffer overflow

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 7.1.2-2, 6.9.13-28, 14.8.1
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • ImageMagick ImageMagick

    fixed in 7.1.2-2; fixed in 6.9.13-28

  • Magick.NET-Q16-AnyCPUNuGet

    fixed in 14.8.1

  • Magick.NET-Q16-HDRI-AnyCPUNuGet

    fixed in 14.8.1

  • Magick.NET-Q16-HDRI-x86NuGet

    fixed in 14.8.1

  • Magick.NET-Q16-x86NuGet

    fixed in 14.8.1

  • Magick.NET-Q8-AnyCPUNuGet

    fixed in 14.8.1

  • Magick.NET-Q8-x86NuGet

    fixed in 14.8.1

References 3

GitHub · ImageMagick/ImageMagick

GitHub · dlemstra/Magick.NET