The vulnerability is an undefined behavior due to a function type mismatch in ImageMagick. The provided commit SHA in the advisory was found to be incorrect and unrelated to the vulnerability. The analysis is therefore based on the detailed information and stack trace from the vulnerability report itself. The vulnerability is triggered when processing an image, specifically during the coalescing operation, which is initiated by the MagickCoalesceImages function. The call stack clearly shows a sequence of function calls (MagickCoalesceImages -> CoalesceImages -> CloneImage -> CloneImageProfiles) that culminates in a call to CloneSplayTree inside CloneImageProfiles. The CloneImageProfiles function incorrectly passes ConstantString as a callback to CloneSplayTree. The function signature of ConstantString does not match the expected signature for the callback in CloneSplayTree, leading to a crash in builds with sanitizers enabled (UBSan) and undefined behavior in production builds. The identified functions are all part of this vulnerable call chain and would appear in a runtime profile when the vulnerability is triggered.
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| Magick.NET-Q16-AnyCPU | nuget | < 14.8.0 | 14.8.0 |
| Magick.NET-Q16-HDRI-AnyCPU | nuget | < 14.8.0 | 14.8.0 |
| Magick.NET-Q16-HDRI-OpenMP-arm64 | nuget | < 14.8.0 | 14.8.0 |
| Magick.NET-Q16-HDRI-OpenMP-x64 | nuget | < 14.8.0 | 14.8.0 |
| Magick.NET-Q16-HDRI-arm64 | nuget | < 14.8.0 | 14.8.0 |
| Magick.NET-Q16-HDRI-x64 | nuget | < 14.8.0 | 14.8.0 |
| Magick.NET-Q16-HDRI-x86 | nuget | < 14.8.0 | 14.8.0 |
| Magick.NET-Q16-OpenMP-arm64 | nuget | < 14.8.0 | 14.8.0 |
| Magick.NET-Q16-OpenMP-x64 | nuget | < 14.8.0 | 14.8.0 |
| Magick.NET-Q16-arm64 | nuget | < 14.8.0 | 14.8.0 |
| Magick.NET-Q16-x64 | nuget | < 14.8.0 | 14.8.0 |
| Magick.NET-Q16-x86 | nuget | < 14.8.0 | 14.8.0 |
| Magick.NET-Q8-AnyCPU | nuget | < 14.8.0 | 14.8.0 |
| Magick.NET-Q8-OpenMP-arm64 | nuget | < 14.8.0 | 14.8.0 |
| Magick.NET-Q8-OpenMP-x64 | nuget | < 14.8.0 | 14.8.0 |
| Magick.NET-Q8-arm64 | nuget | < 14.8.0 | 14.8.0 |
| Magick.NET-Q8-x64 | nuget | < 14.8.0 | 14.8.0 |
| Magick.NET-Q8-x86 | nuget | < 14.8.0 | 14.8.0 |
Ongoing coverage of React2Shell