Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSubmit crafted Magick script to processor
-
DeliveryTrigger unclosed file pointer in script-token parser
-
ExploitRepeat processing to leak descriptors
-
ExecutionExhaust available file descriptors
-
ImpactDenial of service / failed image operations
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Resource release before removal
|
| Exploitation Conditions | Exploitation requires the target to process attacker-controlled Magick scripts through MagickWand's script-token interface (AcquireScriptTokenInfo in script-token.c, i.e. the MSL/conjure scripting path), and requires repeated/iterated processing so the per-invocation unclosed FILE pointer accumulates until the process-level file-descriptor limit is reached. Limiting factors: applications that only process image data (not scripts) do not expose this path; impact is confined to availability (no code execution, no data access); a single invocation is harmless, so a volume of requests is needed; and recovery occurs on process restart. Affected only on versions prior to 7.1.2-31. |
| Impact | This is a genuine-but-low-priority availability issue, not a high-impact emergency. The NVD CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L, score 5.3) correctly scopes impact to availability only (C:N/I:N) via a CWE-775 file-descriptor leak, and severity is Medium, not Critical. No EPSS score was provided, so exploitation probability cannot be quantified. KEV status is absent (not listed by CISA), so there is no confirmed active exploitation. No public exploit code was supplied - the only code artifact is the upstream fix commit, which is remediation evidence, not a weaponized POC. These signals are internally consistent and all point to low real-world urgency. One caveat: the flaw lives in MagickWand script-token processing (script-token.c / AcquireScriptTokenInfo), so the AV:N rating only holds if a service actually feeds attacker-controlled Magick scripts to ImageMagick; most deployments process image data rather than scripts, so realistic exposure is narrower than a bare AV:N implies - verify whether your deployment exposes the scripting/conjure interface to untrusted input. |
| Exploit ScenarioDerived | An attacker able to submit Magick scripts to a service that processes them (e.g., an automated image pipeline exposing MSL/conjure) repeatedly feeds crafted scripts that each leak one file pointer. Over many iterations the process exhausts its available file descriptors, after which legitimate image operations fail, degrading or denying service. No public exploit code is known; exploitation requires only repeated normal-looking script processing. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 07, 2026
Repeated processing of crafted Magick scripts in ImageMagick versions prior to 7.1.2-31 leaks a file descriptor on each invocation, allowing unauthenticated remote attackers to exhaust a process's open-file-descriptor table and deny service to applications that exercise the MagickWand script-token (MSL/conjure) path. The issue is rated CVSS 5.3 with availability-only impact (C:N/I:N/A:L) and requires sustained or repeated request volume to be effective, since a single invocation is harmless and the leak is cleared by a process restart. No public exploit identified at time of analysis, and the vendor-released patch is version 7.1.2-31.
RemediationAI
Upgrade to ImageMagick 7.1.2-31 or later - vendor-released patch: 7.1.2-31, distributed via the GitHub release at https://github.com/ImageMagick/ImageMagick/releases/tag/7.1.2-31, with the underlying fix in commit 86672a16cedbf5a06d64e629e058310d683bb48e and full details in advisory GHSA-2w4h-697j-4vrm. Because the leak requires processing untrusted MSL/conjure scripts, the most direct compensating control for systems that cannot patch immediately is to disable the scripting coders through an ImageMagick security policy - for example a policy.xml entry such as <policy domain="coder" rights="none" pattern="MSL"/> (and equivalent restrictions on the conjure scripting entry point) - with the trade-off that legitimate MSL-based automation will stop working, so this should be scoped to untrusted-input services only. Secondary mitigations include raising the per-process descriptor limit (ulimit -n / LimitNOFILE) to buy time, monitoring fd counts for monotonic growth in long-lived workers, and configuring the service manager to recycle image-processing worker processes on a short interval so accumulated descriptors are returned on restart; each of these is a delay tactic, not a fix, and none prevents the leak from recurring. Applications that only decode raster image formats and never invoke the MagickWand script tokenizer need no code change beyond staying on supported releases, and no configuration change alone fully removes the risk for script-processing workloads.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is a missing-release-of-file-descriptor issue (CWE-775) in ImageMagick's MagickWand scripting subsystem, specifically in AcquireScriptTokenInfo() in MagickWand/script-token.c, which parses Magick Scripting Language (MSL) / conjure scripts rather than image pixel data. When the function successfully opens a script FILE stream, the code path handles the failure case by freeing the token_info structure but never marks the successful path with token_info->opened = MagickTrue. Because downstream cleanup logic (DestroyScriptTokenInfo) closes the stream only when that flag is set, the FILE pointer returned by the open remains referenced but never closed, so each processed script permanently consumes one descriptor for the lifetime of the process. The upstream commit 86672a16cedbf5a06d64e629e058310d683bb48e corrects this by assigning MagickTrue to token_info->opened whenever stream != NULL, restoring the pairing between acquisition and release that CWE-775 requires. Because the CPE entry imagemagick:imagemagick:*/*:*:*:*:*:*:*:* covers the entire product line, any ImageMagick build predating the 7.1.2-31 fix and compiled with the MagickWand scripting interface is potentially in scope, though only code paths that tokenize attacker-supplied scripts are actually exposures - image-parsing applications that never touch MSL are not affected. Impact is confined to availability: there is no memory corruption, code execution, or data-disclosure primitive, and the tag "Information Disclosure" attached in the source feed is not supported by the assessed vector, which reports C:N/I:N.
Know when Imagemagick gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Untrusted script processing needs no privileges or interaction (PR:N/UI:N); the descriptor leak only degrades availability after repeated use (A:L), with no confidentiality or integrity impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
ImageMagick is free and open-source software used for editing and manipulating digital images. Prior to 7.1.2-31, a crafted Magick script can cause an opened file pointer to remain unclosed, allowing repeated processing to exhaust available file descriptors. This issue is fixed in version 7.1.2-31.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
More in Imagemagick
View allThe (1) EPHEMERAL, (2) HTTPS, (3) MVG, (4) MSL, (5) TEXT, (6) SHOW, (7) WIN, and (8) PLT coders in ImageMagick before 6.
The (1) HTTP and (2) FTP coders in ImageMagick before 6.9.3-10 and 7.x before 7.0.1-1 allow remote attackers to conduct
The EPHEMERAL coder in ImageMagick before 6.9.3-10 and 7.x before 7.0.1-1 allows remote attackers to delete arbitrary fi
ReadGIFImage in coders/gif.c in ImageMagick 7.0.6-1 and GraphicsMagick 1.3.26 leaves the palette uninitialized when proc
Integer overflow in MagickCore/profile.c in ImageMagick before 7.0.2-1 allows remote attackers to cause a denial of serv
The LABEL coder in ImageMagick before 6.9.3-10 and 7.x before 7.0.1-1 allows remote attackers to read arbitrary files vi
The OpenBlob function in blob.c in GraphicsMagick before 1.3.24 and ImageMagick allows remote attackers to execute arbit
The DCM reader in ImageMagick before 6.9.4-5 and 7.x before 7.0.1-7 allows remote attackers to have unspecified impact b
The ReadDCMImage function in DCM reader in ImageMagick before 6.9.4-5 and 7.x before 7.0.1-7 allows remote attackers to
The DCM reader in ImageMagick before 6.9.4-5 and 7.x before 7.0.1-7 allows remote attackers to have unspecified impact b
ImageMagick 7.0.6-5 has a memory leak vulnerability in ReadWEBPImage in coders/webp.c because memory is not freed in cer
Heap buffer overflow in ImageMagick's XBM image decoder (ReadXBMImage) lets remote attackers write attacker-controlled d
EUVD-2026-94394
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB