{"id":"GHSA-wpp4-vqfq-v4hp","summary":"ImageMagick CLAHE : Unsigned underflow and division-by-zero lead to OOB pointer arithmetic and process crash (DoS)","details":"## Summary\n\nA single root cause in the CLAHE implementation — tile width/height becoming zero — produces two distinct but related unsafe behaviors.\nVulnerabilities exists in the `CLAHEImage()` function of ImageMagick’s `MagickCore/enhance.c`.\n\n1. Unsigned integer underflow → out-of-bounds pointer arithmetic (OOB): when `tile_info.height == 0`, the expression `tile_info.height - 1` (unsigned) wraps to a very large value; using that value in pointer arithmetic yields a huge offset and OOB memory access (leading to memory corruption, SIGSEGV, or resource exhaustion).\n2. **Division/modulus by zero**: where code performs `... / tile_info.width` or `... % tile_info.height` without re-checking for zero, causing immediate division-by-zero crashes under sanitizers or `abort` at runtime.\n\nBoth behaviors are triggered by the same invalid tile condition (e.g., CLI exact `-clahe 0x0!` or automatic tile derivation `dim \u003e\u003e 3 == 0` for very small images). \n\n---\n\n## Details\n\n### **Unsigned underflow(can lea to OOB)**\n\n- Location: `MagickCore/enhance.c`, around line 609\n- Version tested: 7.1.2-8 (local ASan(undefined). /UBSan build)\n- Vulnerable code\n    \n    enhance.c: 609\n    \n    ```c\n    p += (ptrdiff_t) clahe_info-\u003ewidth * (tile.height - 1);\n    ```\n    \n- Root Cause\n    - If `tile.height == 0`, then `(tile.height - 1)` underflows to `UINT_MAX`.\n    - Multiplication with `clahe_info-\u003ewidth` yields a huge value close to `SIZE_MAX`.\n    - Adding this to `p` causes pointer arithmetic underflow.\n\n### **Division-by-zero**\n\n- File / Location: `MagickCore/enhance.c`, around line 669\n- Version tested: 7.1.2-8 (local ASan(undefined). /UBSan build)\n- vulnerable code\n    \n    enhance.c: 669-673\n    \n    ```c\n     if ((image-\u003ecolumns % tile_info.width) != 0)\n        tile_info.x=(ssize_t) (tile_info.width-(image-\u003ecolumns % tile_info.width));\n      tile_info.y=0;\n      if ((image-\u003erows % tile_info.height) != 0)\n        tile_info.y=(ssize_t) (tile_info.height-(image-\u003erows % tile_info.height));\n    ```\n    \n- Root cause\n    \n    Missing input validation / bounds checks after computing default tile dimensions:\n    \n    If either `tile_info.width` or `tile_info.height` is 0, this triggers a division by zero. Zeros can reach this point through:\n    \n    1. Exact tiles: CLI `clahe 0x0!` (the `!` forces zero to be used verbatim).\n    2. Auto tiles on tiny images: When a requested tile is `0` (no `!`), the code derives a default from the image size (e.g., `dim \u003e\u003e 3`). For images with `dim \u003c 8`, this result is 0 unless clamped.\n\n---\n\n## Reproduction\n\n### **Unsigned underflow**\n\n**Environment**\n\nBuilt with AddressSanitizer and UndefinedBehaviorSanitizer enabled.\n\n```c\nexport UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1\nexport ASAN_OPTIONS=abort_on_error=1:allocator_may_return_null=1:detect_leaks=0\n```\n\n**Command**\n\n```bash\n./magick xc:black -clahe 0x0 null:\n```\n\n**Output**\n\n```\nMagickCore/enhance.c:609:6: runtime error: addition of unsigned offset overflowed\nSUMMARY: UndefinedBehaviorSanitizer: undefined-behavior MagickCore/enhance.c:609:6 in CLAHEImage\n```\n\n`./magick -size 10x10 xc:black -clahe 0x0 null:`\n\n\u003cimg width=\"1068\" height=\"64\" alt=\"image\" src=\"https://github.com/user-attachments/assets/cd9637ee-1d03-4066-834d-fda22410dd8b\" /\u003e\n\nmemory region corruption.\n\n`./magick -size 2000x2000 xc:black -clahe 0x0 null:`\n\n\u003cimg width=\"1069\" height=\"70\" alt=\"image\" src=\"https://github.com/user-attachments/assets/ecbab79c-a3c2-4e8c-96c9-8e2aa8f0d2b2\" /\u003e\n\n→ Significant memory consumption and evidence of memory region corruption.\n\n`./magick -size 4000x4000 xc:black -clahe 0x0 null:`\n\n\u003cimg width=\"776\" height=\"49\" alt=\"image\" src=\"https://github.com/user-attachments/assets/63a7cec5-616b-4aa5-87f3-a546a87e6625\" /\u003e\n\n→ Much larger memory usage; process appears to be aggressively consuming cache and address space.\n\n`./magick -size 8000x8000 xc:black -clahe 0x0 null:`\n\n\u003cimg width=\"748\" height=\"46\" alt=\"image\" src=\"https://github.com/user-attachments/assets/48b3aac8-98b3-4fbb-a5ca-4e7936bca44b\" /\u003e\n\n→ Memory usage escalates further and begins exhausting available cache. If left running, the process is likely to crash (DoS) after sustained allocation attempts.\n\n### **Division-by-zero**\n\n**Environment:** ASan/UBSan-enabled build.\n\n```c\nexport UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1\nexport ASAN_OPTIONS=abort_on_error=1:allocator_may_return_null=1:detect_leaks=0\n```\n\n**Command**\n\n```bash\n./magick -size 16x2 gradient: -type TrueColor -depth 8 -clahe 0x0! null:\n```\n\n**Output**\n\n\u003cimg width=\"1915\" height=\"818\" alt=\"image\" src=\"https://github.com/user-attachments/assets/cfe44432-b429-49e4-8673-2ed55ba9a961\" /\u003e\n\n**Notes:** Without sanitizers, the process may terminate with just `Aborted` (still DoS).\n\n---\n\n## Impact\n\n- Primary: Denial-of-Service — crash or sustained resource exhaustion (memory/cache thrash) when processing crafted parameters or small images via CLI or API. Attackers can trivially trigger via `clahe 0x0!` or by uploading very small images to services using ImageMagick.\n- Secondary (theoretical): OOB memory accesses and memory corruption could potentially be combined with other vulnerabilities to achieve more severe outcomes; however, no reliable code execution was demonstrated from these PoCs alone.\n\n---\n\n## Suggested concrete patch snippets\n\nApply in `CLAHEImage()` after `tile_info` is computed but **before** any division/modulus/pointer arithmetic:\n\n```c\nif (exact_tiles_requested && (tile_info.width == 0 || tile_info.height == 0)) {\n  ThrowMagickException(exception, GetMagickModule(), OptionError,\n                       \"CLAHEInvalidTile\", \"%lux%lu\",\n                       (unsigned long) tile_info.width,\n                       (unsigned long) tile_info.height);\n  return (Image *) NULL;\n}\n\nif (!exact_tiles_requested) {\n  tile_info.width  = (tile_info.width  == 0) ? MagickMax((size_t)1, image-\u003ecolumns \u003e\u003e 3) : tile_info.width;\n  tile_info.height = (tile_info.height == 0) ? MagickMax((size_t)1, image-\u003erows    \u003e\u003e 3) : tile_info.height;\n}\n\nif (tile_info.width == 0 || tile_info.height == 0) {\n  ThrowMagickException(exception, GetMagickModule(), OptionError,\n                       \"CLAHEInvalidTile\", \"%lux%lu\",\n                       (unsigned long) tile_info.width,\n                       (unsigned long) tile_info.height);\n  return (Image *) NULL;\n}\n\nssize_t tile_h_minus1 = (ssize_t)tile_info.height - 1;\nif (tile_h_minus1 \u003c 0) {\n  ThrowMagickException(exception, GetMagickModule(), OptionError,\n                       \"CLAHEInvalidTile\", \"%lux%lu\",\n                       (unsigned long) tile_info.width,\n                       (unsigned long) tile_info.height);\n  return (Image *) NULL;\n}\np += (ptrdiff_t) clahe_info-\u003ewidth * tile_h_minus1;\n```\n\nNotes about `exact_tiles_requested`: if the CLI/Wand parser already exposes whether `!` was present, use it. If not, add a parse-time flag so CLAHEImage can know whether `0` is literal or auto.\n\n---\n\n## Credit\n\n### Team Whys \n\n**Bug Hunting Master Program, HSpace/Findthegap**\n\n**Youngmin Kim** \nkunshim@naver.com\n\n**Woojin Park**\n\n[@jin-156](https://github.com/jin-156)\n[1203kids@gmail.com](mailto:1203kids@gmail.com)\n\n**Youngin Won**\n\n[@amethyst0225](https://github.com/amethyst0225)\n[youngin04@korea.ac.kr](mailto:youngin04@korea.ac.kr)\n\n**Siyeon Han**\n\n[@hanbunny](https://github.com/hanbunny)\n[kokosyeon@gmail.com](mailto:kokosyeon@gmail.com)\n\n**Shinyoung Won**\n\n[@yosiimich](yosimich123@gmail.com)\n[yosimich123@gmail.com](mailto:yosimich123@gmail.com)","aliases":["CVE-2025-62594"],"modified":"2026-07-17T21:10:03.328967536Z","published":"2025-10-27T23:33:10Z","database_specific":{"github_reviewed_at":"2025-10-27T23:33:10Z","nvd_published_at":"2025-10-27T20:15:54Z","cwe_ids":["CWE-119","CWE-191","CWE-369"],"severity":"MODERATE","github_reviewed":true},"references":[{"type":"WEB","url":"https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-wpp4-vqfq-v4hp"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-62594"},{"type":"WEB","url":"https://github.com/ImageMagick/ImageMagick/commit/7b47fe369eda90483402fcd3d78fa4167d3bb129"},{"type":"PACKAGE","url":"https://github.com/ImageMagick/ImageMagick"}],"affected":[{"package":{"name":"Magick.NET-Q16-x64","ecosystem":"NuGet","purl":"pkg:nuget/Magick.NET-Q16-x64"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"14.9.0"}]}],"versions":["10.0.0","10.1.0","11.0.0","11.1.0","11.1.1","11.1.2","11.2.0","11.2.1","11.3.0","12.0.0","12.0.1","12.1.0","12.2.0","12.2.1","12.2.2","12.3.0","13.0.0","13.0.1","13.1.0","13.1.1","13.1.2","13.1.3","13.10.0","13.2.0","13.3.0","13.4.0","13.5.0","13.6.0","13.7.0","13.8.0","13.9.0","13.9.1","14.0.0","14.1.0","14.2.0","14.3.0","14.4.0","14.5.0","14.6.0","14.7.0","14.8.0","14.8.1","14.8.2","14.9.0","6.8.5.1001","6.8.5.401","6.8.5.402","6.8.6.301","6.8.6.601","6.8.6.801","6.8.7.1","6.8.7.101","6.8.7.501","6.8.7.502","6.8.7.901","6.8.8.1001","6.8.8.201","6.8.8.501","6.8.8.701","6.8.8.801","6.8.8.901","6.8.9.1","6.8.9.101","6.8.9.2","6.8.9.401","6.8.9.501","6.8.9.601","7.0.0.1","7.0.0.10","7.0.0.101","7.0.0.102","7.0.0.103","7.0.0.104","7.0.0.11","7.0.0.12","7.0.0.13","7.0.0.14","7.0.0.15","7.0.0.16","7.0.0.17","7.0.0.18","7.0.0.19","7.0.0.2","7.0.0.20","7.0.0.21","7.0.0.22","7.0.0.3","7.0.0.4","7.0.0.5","7.0.0.6","7.0.0.7","7.0.0.8","7.0.0.9","7.0.1","7.0.1.100","7.0.1.101","7.0.1.500","7.0.2.100","7.0.2.400","7.0.2.600","7.0.2.900","7.0.2.901","7.0.2.902","7.0.3","7.0.3.1","7.0.3.300","7.0.3.500","7.0.3.501","7.0.3.502","7.0.3.901","7.0.3.902","7.0.4.100","7.0.4.400","7.0.4.700","7.0.4.701","7.0.5.500","7.0.5.501","7.0.5.502","7.0.5.800","7.0.5.900","7.0.6","7.0.6.100","7.0.6.1000","7.0.6.1001","7.0.6.1002","7.0.6.101","7.0.6.102","7.0.6.600","7.0.6.601","7.0.7","7.0.7.300","7.0.7.700","7.0.7.900","7.1.0","7.10.0","7.10.1","7.10.2","7.11.0","7.11.1","7.12.0","7.13.0","7.13.1","7.14.0","7.14.0.1","7.14.0.2","7.14.0.3","7.14.1","7.14.2","7.14.3","7.14.4","7.14.5","7.15.0","7.15.0.1","7.15.1","7.15.2","7.15.3","7.15.4","7.15.5","7.16.0","7.16.1","7.17.0","7.17.0.1","7.18.0","7.19.0","7.19.0.1","7.2.0","7.2.1","7.20.0","7.20.0.1","7.21.0","7.21.1","7.22.0","7.22.1","7.22.2","7.22.2.1","7.22.2.2","7.22.3","7.23.0","7.23.1","7.23.2","7.23.2.1","7.23.3","7.23.4","7.24.0","7.24.1","7.3.0","7.4.0","7.4.1","7.4.2","7.4.3","7.4.4","7.4.5","7.4.6","7.5.0","7.5.0.1","7.6.0","7.6.0.1","7.7.0","7.8.0","7.9.0","7.9.0.1","7.9.0.2","7.9.1","7.9.2","8.0.0","8.0.1","8.1.0","8.2.0","8.2.1","8.3.0","8.3.1","8.3.2","8.3.3","8.4.0","8.5.0","8.6.0","8.6.1","9.0.0","9.1.0","9.1.1","9.1.2"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/10/GHSA-wpp4-vqfq-v4hp/GHSA-wpp4-vqfq-v4hp.json"}},{"package":{"name":"Magick.NET-Q8-x64","ecosystem":"NuGet","purl":"pkg:nuget/Magick.NET-Q8-x64"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"14.9.0"}]}],"versions":["10.0.0","10.1.0","11.0.0","11.1.0","11.1.1","11.1.2","11.2.0","11.2.1","11.3.0","12.0.0","12.0.1","12.1.0","12.2.0","12.2.1","12.2.2","12.3.0","13.0.0","13.0.1","13.1.0","13.1.1","13.1.2","13.1.3","13.10.0","13.2.0","13.3.0","13.4.0","13.5.0","13.6.0","13.7.0","13.8.0","13.9.0","13.9.1","14.0.0","14.1.0","14.2.0","14.3.0","14.4.0","14.5.0","14.6.0","14.7.0","14.8.0","14.8.1","14.8.2","14.9.0","6.8.5.1001","6.8.5.401","6.8.5.402","6.8.6.301","6.8.6.601","6.8.6.801","6.8.7.1","6.8.7.101","6.8.7.501","6.8.7.502","6.8.7.901","6.8.8.1001","6.8.8.201","6.8.8.501","6.8.8.701","6.8.8.801","6.8.8.901","6.8.9.1","6.8.9.101","6.8.9.2","6.8.9.401","6.8.9.501","6.8.9.601","7.0.0.1","7.0.0.10","7.0.0.101","7.0.0.102","7.0.0.103","7.0.0.104","7.0.0.11","7.0.0.12","7.0.0.13","7.0.0.14","7.0.0.15","7.0.0.16","7.0.0.17","7.0.0.18","7.0.0.19","7.0.0.2","7.0.0.20","7.0.0.21","7.0.0.22","7.0.0.3","7.0.0.4","7.0.0.5","7.0.0.6","7.0.0.7","7.0.0.8","7.0.0.9","7.0.1","7.0.1.100","7.0.1.101","7.0.1.500","7.0.2.100","7.0.2.400","7.0.2.600","7.0.2.900","7.0.2.901","7.0.2.902","7.0.3","7.0.3.1","7.0.3.300","7.0.3.500","7.0.3.501","7.0.3.502","7.0.3.901","7.0.3.902","7.0.4.100","7.0.4.400","7.0.4.700","7.0.4.701","7.0.5.500","7.0.5.501","7.0.5.502","7.0.5.800","7.0.5.900","7.0.6","7.0.6.100","7.0.6.1000","7.0.6.1001","7.0.6.1002","7.0.6.101","7.0.6.102","7.0.6.600","7.0.6.601","7.0.7","7.0.7.300","7.0.7.700","7.0.7.900","7.1.0","7.10.0","7.10.1","7.10.2","7.11.0","7.11.1","7.12.0","7.13.0","7.13.1","7.14.0","7.14.0.1","7.14.0.2","7.14.0.3","7.14.1","7.14.2","7.14.3","7.14.4","7.14.5","7.15.0","7.15.0.1","7.15.1","7.15.2","7.15.3","7.15.4","7.15.5","7.16.0","7.16.1","7.17.0","7.17.0.1","7.18.0","7.19.0","7.19.0.1","7.2.0","7.2.1","7.20.0","7.20.0.1","7.21.0","7.21.1","7.22.0","7.22.1","7.22.2","7.22.2.1","7.22.2.2","7.22.3","7.23.0","7.23.1","7.23.2","7.23.2.1","7.23.3","7.23.4","7.24.0","7.24.1","7.3.0","7.4.0","7.4.1","7.4.2","7.4.3","7.4.4","7.4.5","7.4.6","7.5.0","7.5.0.1","7.6.0","7.6.0.1","7.7.0","7.8.0","7.9.0","7.9.0.1","7.9.0.2","7.9.1","7.9.2","8.0.0","8.0.1","8.1.0","8.2.0","8.2.1","8.3.0","8.3.1","8.3.2","8.3.3","8.4.0","8.5.0","8.6.0","8.6.1","9.0.0","9.1.0","9.1.1","9.1.2"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/10/GHSA-wpp4-vqfq-v4hp/GHSA-wpp4-vqfq-v4hp.json"}},{"package":{"name":"Magick.NET-Q16-HDRI-x64","ecosystem":"NuGet","purl":"pkg:nuget/Magick.NET-Q16-HDRI-x64"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"14.9.0"}]}],"versions":["10.0.0","10.1.0","11.0.0","11.1.0","11.1.1","11.1.2","11.2.0","11.2.1","11.3.0","12.0.0","12.0.1","12.1.0","12.2.0","12.2.1","12.2.2","12.3.0","13.0.0","13.0.1","13.1.0","13.1.1","13.1.2","13.1.3","13.10.0","13.2.0","13.3.0","13.4.0","13.5.0","13.6.0","13.7.0","13.8.0","13.9.0","13.9.1","14.0.0","14.1.0","14.2.0","14.3.0","14.4.0","14.5.0","14.6.0","14.7.0","14.8.0","14.8.1","14.8.2","14.9.0","6.8.9.101","6.8.9.401","6.8.9.501","6.8.9.601","7.0.0.1","7.0.0.10","7.0.0.101","7.0.0.102","7.0.0.103","7.0.0.104","7.0.0.11","7.0.0.12","7.0.0.13","7.0.0.14","7.0.0.15","7.0.0.16","7.0.0.17","7.0.0.18","7.0.0.19","7.0.0.2","7.0.0.20","7.0.0.21","7.0.0.22","7.0.0.3","7.0.0.4","7.0.0.5","7.0.0.6","7.0.0.7","7.0.0.8","7.0.0.9","7.0.1","7.0.1.100","7.0.1.101","7.0.1.500","7.0.2.100","7.0.2.400","7.0.2.600","7.0.2.900","7.0.2.901","7.0.2.902","7.0.3","7.0.3.1","7.0.3.300","7.0.3.500","7.0.3.501","7.0.3.502","7.0.3.901","7.0.3.902","7.0.4.100","7.0.4.400","7.0.4.700","7.0.4.701","7.0.5.500","7.0.5.501","7.0.5.502","7.0.5.800","7.0.5.900","7.0.6","7.0.6.100","7.0.6.1000","7.0.6.1001","7.0.6.1002","7.0.6.101","7.0.6.102","7.0.6.600","7.0.6.601","7.0.7","7.0.7.300","7.0.7.700","7.0.7.900","7.1.0","7.10.0","7.10.1","7.10.2","7.11.0","7.11.1","7.12.0","7.13.0","7.13.1","7.14.0","7.14.0.1","7.14.0.2","7.14.0.3","7.14.1","7.14.2","7.14.3","7.14.4","7.14.5","7.15.0","7.15.0.1","7.15.1","7.15.2","7.15.3","7.15.4","7.15.5","7.16.0","7.16.1","7.17.0","7.17.0.1","7.18.0","7.19.0","7.19.0.1","7.2.0","7.2.1","7.20.0","7.20.0.1","7.21.0","7.21.1","7.22.0","7.22.1","7.22.2","7.22.2.1","7.22.2.2","7.22.3","7.23.0","7.23.1","7.23.2","7.23.2.1","7.23.3","7.23.4","7.24.0","7.24.1","7.3.0","7.4.0","7.4.1","7.4.2","7.4.3","7.4.4","7.4.5","7.4.6","7.5.0","7.5.0.1","7.6.0","7.6.0.1","7.7.0","7.8.0","7.9.0","7.9.0.1","7.9.0.2","7.9.1","7.9.2","8.0.0","8.0.1","8.1.0","8.2.0","8.2.1","8.3.0","8.3.1","8.3.2","8.3.3","8.4.0","8.5.0","8.6.0","8.6.1","9.0.0","9.1.0","9.1.1","9.1.2"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/10/GHSA-wpp4-vqfq-v4hp/GHSA-wpp4-vqfq-v4hp.json"}},{"package":{"name":"Magick.NET-Q8-OpenMP-x64","ecosystem":"NuGet","purl":"pkg:nuget/Magick.NET-Q8-OpenMP-x64"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"14.9.0"}]}],"versions":["10.0.0","10.1.0","11.0.0","11.1.0","11.1.1","11.1.2","11.2.0","11.2.1","11.3.0","12.0.0","12.0.1","12.1.0","12.2.0","12.2.1","12.2.2","12.3.0","13.0.0","13.0.1","13.1.0","13.1.1","13.1.2","13.1.3","13.10.0","13.2.0","13.3.0","13.4.0","13.5.0","13.6.0","13.7.0","13.8.0","13.9.0","13.9.1","14.0.0","14.1.0","14.2.0","14.3.0","14.4.0","14.5.0","14.6.0","14.7.0","14.8.0","14.8.1","14.8.2","14.9.0","7.14.0","7.14.0.1","7.14.0.2","7.14.0.3","7.14.1","7.14.2","7.14.3","7.14.4","7.14.5","7.15.0","7.15.0.1","7.15.1","7.15.2","7.15.3","7.15.4","7.15.5","7.16.0","7.16.1","7.17.0","7.17.0.1","7.18.0","7.19.0","7.19.0.1","7.20.0","7.20.0.1","7.21.0","7.21.1","7.22.0","7.22.1","7.22.2","7.22.2.1","7.22.2.2","7.22.3","7.23.0","7.23.1","7.23.2","7.23.2.1","7.23.3","7.23.4","7.24.0","7.24.1","8.0.0","8.0.1","8.1.0","8.2.0","8.2.1","8.3.0","8.3.1","8.3.2","8.3.3","8.4.0","8.5.0","8.6.0","8.6.1","9.0.0","9.1.0","9.1.1","9.1.2"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/10/GHSA-wpp4-vqfq-v4hp/GHSA-wpp4-vqfq-v4hp.json"}},{"package":{"name":"Magick.NET-Q16-HDRI-OpenMP-x64","ecosystem":"NuGet","purl":"pkg:nuget/Magick.NET-Q16-HDRI-OpenMP-x64"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"14.9.0"}]}],"versions":["10.0.0","10.1.0","11.0.0","11.1.0","11.1.1","11.1.2","11.2.0","11.2.1","11.3.0","12.0.0","12.0.1","12.1.0","12.2.0","12.2.1","12.2.2","12.3.0","13.0.0","13.0.1","13.1.0","13.1.1","13.1.2","13.1.3","13.10.0","13.2.0","13.3.0","13.4.0","13.5.0","13.6.0","13.7.0","13.8.0","13.9.0","13.9.1","14.0.0","14.1.0","14.2.0","14.3.0","14.4.0","14.5.0","14.6.0","14.7.0","14.8.0","14.8.1","14.8.2","14.9.0","7.14.0","7.14.0.1","7.14.0.2","7.14.0.3","7.14.1","7.14.2","7.14.3","7.14.4","7.14.5","7.15.0","7.15.0.1","7.15.1","7.15.2","7.15.3","7.15.4","7.15.5","7.16.0","7.16.1","7.17.0","7.17.0.1","7.18.0","7.19.0","7.19.0.1","7.20.0","7.20.0.1","7.21.0","7.21.1","7.22.0","7.22.1","7.22.2","7.22.2.1","7.22.2.2","7.22.3","7.23.0","7.23.1","7.23.2","7.23.2.1","7.23.3","7.23.4","7.24.0","7.24.1","8.0.0","8.0.1","8.1.0","8.2.0","8.2.1","8.3.0","8.3.1","8.3.2","8.3.3","8.4.0","8.5.0","8.6.0","8.6.1","9.0.0","9.1.0","9.1.1","9.1.2"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/10/GHSA-wpp4-vqfq-v4hp/GHSA-wpp4-vqfq-v4hp.json"}},{"package":{"name":"Magick.NET-Q16-OpenMP-x64","ecosystem":"NuGet","purl":"pkg:nuget/Magick.NET-Q16-OpenMP-x64"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"14.9.0"}]}],"versions":["10.0.0","10.1.0","11.0.0","11.1.0","11.1.1","11.1.2","11.2.0","11.2.1","11.3.0","12.0.0","12.0.1","12.1.0","12.2.0","12.2.1","12.2.2","12.3.0","13.0.0","13.0.1","13.1.0","13.1.1","13.1.2","13.1.3","13.10.0","13.2.0","13.3.0","13.4.0","13.5.0","13.6.0","13.7.0","13.8.0","13.9.0","13.9.1","14.0.0","14.1.0","14.2.0","14.3.0","14.4.0","14.5.0","14.6.0","14.7.0","14.8.0","14.8.1","14.8.2","14.9.0","7.14.0","7.14.0.1","7.14.0.2","7.14.0.3","7.14.1","7.14.2","7.14.3","7.14.4","7.14.5","7.15.0","7.15.0.1","7.15.1","7.15.2","7.15.3","7.15.4","7.15.5","7.16.0","7.16.1","7.17.0","7.17.0.1","7.18.0","7.19.0","7.19.0.1","7.20.0","7.20.0.1","7.21.0","7.21.1","7.22.0","7.22.1","7.22.2","7.22.2.1","7.22.2.2","7.22.3","7.23.0","7.23.1","7.23.2","7.23.2.1","7.23.3","7.23.4","7.24.0","7.24.1","8.0.0","8.0.1","8.1.0","8.2.0","8.2.1","8.3.0","8.3.1","8.3.2","8.3.3","8.4.0","8.5.0","8.6.0","8.6.1","9.0.0","9.1.0","9.1.1","9.1.2"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/10/GHSA-wpp4-vqfq-v4hp/GHSA-wpp4-vqfq-v4hp.json"}},{"package":{"name":"Magick.NET-Q8-arm64","ecosystem":"NuGet","purl":"pkg:nuget/Magick.NET-Q8-arm64"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"14.9.0"}]}],"versions":["10.0.0","10.1.0","11.0.0","11.1.0","11.1.1","11.1.2","11.2.0","11.2.1","11.3.0","12.0.0","12.0.1","12.1.0","12.2.0","12.2.1","12.2.2","12.3.0","13.0.0","13.0.1","13.1.0","13.1.1","13.1.2","13.1.3","13.10.0","13.2.0","13.3.0","13.4.0","13.5.0","13.6.0","13.7.0","13.8.0","13.9.0","13.9.1","14.0.0","14.1.0","14.2.0","14.3.0","14.4.0","14.5.0","14.6.0","14.7.0","14.8.0","14.8.1","14.8.2","14.9.0","8.6.0","8.6.1","9.0.0","9.1.0","9.1.1","9.1.2"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/10/GHSA-wpp4-vqfq-v4hp/GHSA-wpp4-vqfq-v4hp.json"}},{"package":{"name":"Magick.NET-Q16-arm64","ecosystem":"NuGet","purl":"pkg:nuget/Magick.NET-Q16-arm64"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"14.9.0"}]}],"versions":["10.0.0","10.1.0","11.0.0","11.1.0","11.1.1","11.1.2","11.2.0","11.2.1","11.3.0","12.0.0","12.0.1","12.1.0","12.2.0","12.2.1","12.2.2","12.3.0","13.0.0","13.0.1","13.1.0","13.1.1","13.1.2","13.1.3","13.10.0","13.2.0","13.3.0","13.4.0","13.5.0","13.6.0","13.7.0","13.8.0","13.9.0","13.9.1","14.0.0","14.1.0","14.2.0","14.3.0","14.4.0","14.5.0","14.6.0","14.7.0","14.8.0","14.8.1","14.8.2","14.9.0","8.6.0","8.6.1","9.0.0","9.1.0","9.1.1","9.1.2"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/10/GHSA-wpp4-vqfq-v4hp/GHSA-wpp4-vqfq-v4hp.json"}},{"package":{"name":"Magick.NET-Q16-OpenMP-arm64","ecosystem":"NuGet","purl":"pkg:nuget/Magick.NET-Q16-OpenMP-arm64"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"14.9.0"}]}],"versions":["10.0.0","10.1.0","11.0.0","11.1.0","11.1.1","11.1.2","11.2.0","11.2.1","11.3.0","12.0.0","12.0.1","12.1.0","12.2.0","12.2.1","12.2.2","12.3.0","13.0.0","13.0.1","13.1.0","13.1.1","13.1.2","13.1.3","13.10.0","13.2.0","13.3.0","13.4.0","13.5.0","13.6.0","13.7.0","13.8.0","13.9.0","13.9.1","14.0.0","14.1.0","14.2.0","14.3.0","14.4.0","14.5.0","14.6.0","14.7.0","14.8.0","14.8.1","14.8.2","14.9.0","8.6.0","8.6.1","9.0.0","9.1.0","9.1.1","9.1.2"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/10/GHSA-wpp4-vqfq-v4hp/GHSA-wpp4-vqfq-v4hp.json"}},{"package":{"name":"Magick.NET-Q8-OpenMP-arm64","ecosystem":"NuGet","purl":"pkg:nuget/Magick.NET-Q8-OpenMP-arm64"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"14.9.0"}]}],"versions":["10.0.0","10.1.0","11.0.0","11.1.0","11.1.1","11.1.2","11.2.0","11.2.1","11.3.0","12.0.0","12.0.1","12.1.0","12.2.0","12.2.1","12.2.2","12.3.0","13.0.0","13.0.1","13.1.0","13.1.1","13.1.2","13.1.3","13.10.0","13.2.0","13.3.0","13.4.0","13.5.0","13.6.0","13.7.0","13.8.0","13.9.0","13.9.1","14.0.0","14.1.0","14.2.0","14.3.0","14.4.0","14.5.0","14.6.0","14.7.0","14.8.0","14.8.1","14.8.2","14.9.0","8.6.0","8.6.1","9.0.0","9.1.0","9.1.1","9.1.2"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/10/GHSA-wpp4-vqfq-v4hp/GHSA-wpp4-vqfq-v4hp.json"}},{"package":{"name":"Magick.NET-Q16-HDRI-OpenMP-arm64","ecosystem":"NuGet","purl":"pkg:nuget/Magick.NET-Q16-HDRI-OpenMP-arm64"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"14.9.0"}]}],"versions":["10.0.0","10.1.0","11.0.0","11.1.0","11.1.1","11.1.2","11.2.0","11.2.1","11.3.0","12.0.0","12.0.1","12.1.0","12.2.0","12.2.1","12.2.2","12.3.0","13.0.0","13.0.1","13.1.0","13.1.1","13.1.2","13.1.3","13.10.0","13.2.0","13.3.0","13.4.0","13.5.0","13.6.0","13.7.0","13.8.0","13.9.0","13.9.1","14.0.0","14.1.0","14.2.0","14.3.0","14.4.0","14.5.0","14.6.0","14.7.0","14.8.0","14.8.1","14.8.2","14.9.0","8.6.0","8.6.1","9.0.0","9.1.0","9.1.1","9.1.2"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/10/GHSA-wpp4-vqfq-v4hp/GHSA-wpp4-vqfq-v4hp.json"}},{"package":{"name":"Magick.NET-Q16-HDRI-arm64","ecosystem":"NuGet","purl":"pkg:nuget/Magick.NET-Q16-HDRI-arm64"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"14.9.0"}]}],"versions":["10.0.0","10.1.0","11.0.0","11.1.0","11.1.1","11.1.2","11.2.0","11.2.1","11.3.0","12.0.0","12.0.1","12.1.0","12.2.0","12.2.1","12.2.2","12.3.0","13.0.0","13.0.1","13.1.0","13.1.1","13.1.2","13.1.3","13.10.0","13.2.0","13.3.0","13.4.0","13.5.0","13.6.0","13.7.0","13.8.0","13.9.0","13.9.1","14.0.0","14.1.0","14.2.0","14.3.0","14.4.0","14.5.0","14.6.0","14.7.0","14.8.0","14.8.1","14.8.2","14.9.0","8.6.0","8.6.1","9.0.0","9.1.0","9.1.1","9.1.2"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/10/GHSA-wpp4-vqfq-v4hp/GHSA-wpp4-vqfq-v4hp.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H"}]}