{"id":"CVE-2025-55212","aliases":["GHSA-fh55-q5pj-pxgw"],"url":"https://o3.security/vulnerability/CVE-2025-55212","summary":"ImageMagick affected by divide-by-zero in ThumbnailImage via montage -geometry \":\" leads to crash","details":"## Summary\nPassing a geometry string containing only a colon (\":\") to montage -geometry leads GetGeometry() to set width/height to 0. Later, ThumbnailImage() divides by these zero dimensions, triggering a crash (SIGFPE/abort), resulting in a denial of service.\n\n## Details\n**Root Cause**\n1. `montage -geometry \":\" ...` reaches `MagickCore/geometry.c:GetGeometry().`\n2. `StringToDouble/InterpretLocaleValue` parses `\":\"` as `0.0;` then: \nhttps://github.com/ImageMagick/ImageMagick/blob/0ba1b587be17543b664f7ad538e9e51e0da59d17/MagickCore/geometry.c#L355\n`WidthValue` (and/or `HeightValue)` is set with a zero dimension.\n3. In MagickCore/resize.c:ThumbnailImage(), the code computes:\nhttps://github.com/ImageMagick/ImageMagick/blob/0ba1b587be17543b664f7ad538e9e51e0da59d17/MagickCore/resize.c#L4625-L4629\ncausing a division by zero and immediate crash.\n\nThe issue is trivially triggerable without external input files (e.g., using `xc:white`).\n\n### Reproduction\nEnvironment\n```\nVersion: ImageMagick 7.1.2-1 (Beta) Q16-HDRI x86_64 0ba1b587b:20250812 https://imagemagick.org\nFeatures: Cipher DPC HDRI\nDelegates (built-in): bzlib fontconfig freetype jbig jng jpeg lcms lzma pangocairo png tiff x xml zlib\nCompiler: clang (14.0.0)\nOS/Arch: Linux x86_64\n```\nSteps\n```\n./bin/magick montage -geometry : xc:white null:\n```\nObserved result\n```\nIOT instruction (core dumped)\n# (Environment-dependent: SIGFPE/abort may be observed.)\n```\n\n## PoC\nNo external file required; the pseudo image xc:white suffices:\n```\n./bin/magick montage -geometry : xc:white null:\n```\n\n## Impact\n- **Denial of Service:** A divide-by-zero in `ThumbnailImage()` causes immediate abnormal termination (e.g., SIGFPE/abort), crashing the ImageMagick process.\n\n\n## Suggested fix\nDefensively reject zero dimensions early in `ThumbnailImage()`:\n```c\nif ((columns == 0) || (rows == 0)) {\n  (void) ThrowMagickException(exception, GetMagickModule(), OptionError,\n    \"InvalidGeometry\", \"thumbnail requires non-zero dimensions: %.20gx%.20g\",\n    (double) columns, (double) rows);\n  return (Image *) NULL;\n}\n```\nAdditionally, consider tightening validation in `GetGeometry()` so that colon-only (and similar malformed) inputs do not yield `WidthValue/HeightValue` with zero, or are rejected outright. Variants like `\"x:\"` or `\":x\"` may also need explicit handling (maintainer confirmation requested).\n\n## Credits\n### Team Daemon Fuzz Hunters\n**Bug Hunting Master Program, HSpace/Findthegap**\n<br>\n\n**Woojin Park**\n@jin-156\n[1203kids@gmail.com](mailto:1203kids@gmail.com)\n\n**Hojun Lee**\n@leehohojune \n[leehojune@korea.ac.kr](mailto:leehojune@korea.ac.kr)\n\n**Youngin Won**\n@amethyst0225\n[youngin04@korea.ac.kr](mailto:youngin04@korea.ac.kr)\n\n**Siyeon Han**\n@hanbunny\n[kokosyeon@gmail.com](mailto:kokosyeon@gmail.com)","published":"2025-08-26T16:43:15.189Z","modified":"2026-08-12T15:16:44.200214Z","cvss":{"score":3.7,"severity":"LOW","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L"},"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"NuGet","name":"Magick.NET-Q16-AnyCPU","fixedVersion":"14.8.1"},{"ecosystem":"NuGet","name":"Magick.NET-Q16-HDRI-AnyCPU","fixedVersion":"14.8.1"},{"ecosystem":"NuGet","name":"Magick.NET-Q16-HDRI-OpenMP-arm64","fixedVersion":"14.8.1"},{"ecosystem":"NuGet","name":"Magick.NET-Q16-HDRI-OpenMP-x64","fixedVersion":"14.8.1"},{"ecosystem":"NuGet","name":"Magick.NET-Q16-HDRI-arm64","fixedVersion":"14.8.1"},{"ecosystem":"NuGet","name":"Magick.NET-Q16-HDRI-x64","fixedVersion":"14.8.1"},{"ecosystem":"NuGet","name":"Magick.NET-Q16-HDRI-x86","fixedVersion":"14.8.1"},{"ecosystem":"NuGet","name":"Magick.NET-Q16-OpenMP-arm64","fixedVersion":"14.8.1"},{"ecosystem":"NuGet","name":"Magick.NET-Q16-OpenMP-x64","fixedVersion":"14.8.1"},{"ecosystem":"NuGet","name":"Magick.NET-Q16-arm64","fixedVersion":"14.8.1"},{"ecosystem":"NuGet","name":"Magick.NET-Q16-x64","fixedVersion":"14.8.1"},{"ecosystem":"NuGet","name":"Magick.NET-Q16-x86","fixedVersion":"14.8.1"},{"ecosystem":"NuGet","name":"Magick.NET-Q8-AnyCPU","fixedVersion":"14.8.1"},{"ecosystem":"NuGet","name":"Magick.NET-Q8-OpenMP-arm64","fixedVersion":"14.8.1"},{"ecosystem":"NuGet","name":"Magick.NET-Q8-OpenMP-x64","fixedVersion":"14.8.1"},{"ecosystem":"NuGet","name":"Magick.NET-Q8-arm64","fixedVersion":"14.8.1"},{"ecosystem":"NuGet","name":"Magick.NET-Q8-x64","fixedVersion":"14.8.1"},{"ecosystem":"NuGet","name":"Magick.NET-Q8-x86","fixedVersion":"14.8.1"}],"fix":{"url":"https://github.com/ImageMagick/ImageMagick/commit/5f0bcf986b8b5e90567750d31a37af502b73f2af","label":"ImageMagick/ImageMagick@5f0bcf9"},"references":[{"type":"WEB","url":"https://github.com/ImageMagick/ImageMagick/blob/0ba1b587be17543b664f7ad538e9e51e0da59d17/MagickCore/geometry.c#L355"},{"type":"WEB","url":"https://github.com/ImageMagick/ImageMagick/blob/0ba1b587be17543b664f7ad538e9e51e0da59d17/MagickCore/resize.c#L4625-L4629"},{"type":"WEB","url":"https://github.com/dlemstra/Magick.NET/releases/tag/14.8.1"},{"type":"WEB","url":"https://lists.debian.org/debian-lts-announce/2025/09/msg00012.html"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/55xxx/CVE-2025-55212.json"},{"type":"ADVISORY","url":"https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-fh55-q5pj-pxgw"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-55212"},{"type":"FIX","url":"https://github.com/ImageMagick/ImageMagick/commit/5f0bcf986b8b5e90567750d31a37af502b73f2af"},{"type":"PACKAGE","url":"https://github.com/ImageMagick/ImageMagick"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-12T15:16:44.200214Z"}}