Magick fails to check for circular references between two MSLs, leading to a stack overflow.
After reading a.msl using magick, the following is displayed:
MSLStartElement -> ReadImage -> ReadMSLImage -> ProcessMSLScript -> xmlParseChunk -> xmlParseTryOrFinish -> MSLStartElement
AddressSanitizer:DEADLYSIGNAL
=================================================================
==114345==ERROR: AddressSanitizer: UNKNOWN SIGNAL on unknown address 0x000000000000 (pc 0x72509fc7d804 bp 0x7ffd6598b390 sp 0x7ffd6598ab20 T0)
#0 0x72509fc7d804 in strlen ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:388
[...]
{
"github_reviewed_at": "2026-03-12T14:02:04Z",
"severity": "MODERATE",
"github_reviewed": true,
"cwe_ids": [
"CWE-674",
"CWE-787"
],
"nvd_published_at": "2026-02-24T02:16:02Z"
}