Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSubmit image with crafted XMP profile
-
ExploitImageMagick parses rational value metadata
-
ExecutionUnbounded approximation loop consumes CPU
-
ImpactWorker/service availability degraded
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires the target to parse an attacker-supplied image whose embedded XMP profile contains a crafted rational (numerator/denominator) value, triggering GetXmpNumeratorAndDenominator() in MagickCore/profile.c on versions prior to 7.1.2-31. No special configuration, authentication, or user interaction is required (PR:N/UI:N) against default ImageMagick XMP handling - the limiting factor is simply that the application must feed attacker-controlled image data through ImageMagick (e.g. an upload/convert/thumbnail pipeline). Impact is bounded to availability degradation (resource consumption); there is no memory corruption, data disclosure, or code execution, and the attack must reach a code path that reads XMP profiles. |
| Impact | This is a moderate-severity, single-impact denial-of-service issue, correctly scored at CVSS 5.3 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L). The signals are internally consistent: network-reachable, no authentication, no user interaction, but availability-only impact rated Low - there is no confidentiality or integrity exposure and no code execution. The commit evidence confirms the mechanism: the pre-fix GetXmpNumeratorAndDenominator() used an unbounded incremental search (while loop with no iteration cap) to approximate a rational numerator/denominator, so a crafted XMP value could force excessive CPU work (CWE-400 uncontrolled resource consumption); the fix replaces this with a continued-fraction algorithm hard-capped at 128 iterations. No EPSS score, KEV listing, or public POC was provided in the input, so there is no evidence of active exploitation or weaponization - this is a priority proportional to a resource-exhaustion bug, not a critical emergency. The real-world weight comes from prevalence rather than severity: ImageMagick is extremely widely deployed in server-side image pipelines that routinely process untrusted uploads, which raises exposure even though the worst case is service degradation rather than compromise. No conflicting signals were found; the only gap is the absence of exploitation-probability telemetry (EPSS/KEV), which should be treated as unknown rather than low. |
| Exploit ScenarioDerived | An attacker uploads or submits an image containing a crafted XMP profile to a web application or service that uses ImageMagick for thumbnailing, conversion, or metadata extraction. When ImageMagick parses the malicious rational value in the XMP profile, the pre-7.1.2-31 approximation loop performs excessive iterations, consuming CPU and stalling or exhausting the worker handling the request. No public exploit was identified in the provided data, but the vulnerable code path is confirmed by the referenced vendor commit. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 07, 2026
ImageMagick versions prior to 7.1.2-31 can be driven into excessive CPU consumption when the XMP profile parser resolves an attacker-supplied rational (numerator/denominator) value, degrading or stalling the service that performs the image conversion. The affected path is reachable unauthenticated and without user interaction (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L), but requires the application to feed attacker-controlled image data through ImageMagick, so the practical exposure is limited to upload, convert, or thumbnail pipelines that process untrusted images and read embedded XMP metadata. Impact is bounded to availability degradation - there is no memory corruption, data disclosure, or code execution - and no public exploit code was identified at time of analysis; the vendor has released ImageMagick 7.1.2-31 as the fix.
RemediationAI
Upgrade to ImageMagick 7.1.2-31 or later, which contains the continued-fraction rewrite of GetXmpNumeratorAndDenominator with the TryAccumulate() overflow and iteration guards; the release is at https://github.com/ImageMagick/ImageMagick/releases/tag/7.1.2-31, the fix commit is https://github.com/ImageMagick/ImageMagick/commit/f491576297141ff685dc4460d811986f5b6b6cec, and the advisory is https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-v45j-x8p4-3mh4. If immediate upgrade is not possible, remove or discard XMP profiles from untrusted images before they reach the parser - strip all profiles in a pre-processing step (or configure the calling pipeline to ignore profiles) - accepting that legitimate metadata will be lost and that this only closes the vector if every ingestion path is covered. Because the impact is purely resource exhaustion, pair that with enforced resource limits and a hard wall-clock timeout on any conversion worker (ImageMagick's own memory, disk, area, and time limits configured in policy.xml, plus container CPU quotas and process timeouts), which caps the blast radius at the cost of failing or truncating unusually large or slow conversions; run conversions as an unprivileged, resource-capped service so a stalled worker cannot exhaust the host. Applications that never need XMP can also restrict profile/coder handling via policy.xml, with the trade-off that any workflow depending on XMP, IPTC, or ICC metadata will break.
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 defect is an uncontrolled resource consumption issue (CWE-400) in MagickCore/profile.c, specifically in the routine that converts a floating-point XMP rational into integer numerator and denominator fields (GetXmpNumeratorAndDenominator). The original implementation used an unbounded while loop that repeatedly incremented the numerator or denominator and recomputed the approximation until it fell within MagickEpsilon of the target value; a crafted XMP profile supplying a value that converges slowly (or not at all at the required precision) forced an arbitrarily large number of iterations and corresponding arithmetic work. The fix replaces this with a bounded continued-fraction expansion capped at 128 iterations, using a new TryAccumulate() helper that rejects terms or accumulated values that exceed MAGICK_ULONG_MAX or go negative, so the loop terminates on either convergence, overflow, or iteration exhaustion. Any build of ImageMagick that parses XMP profiles is affected, which is the default behavior for common formats carrying XMP (JPEG, PNG, TIFF, and similar) unless profile handling is explicitly disabled. The CPE string cpe:2.3:a:imagemagick:imagemagick:*:*:*:*:*:*:*:* is version-agnostic, so version scoping must come from the advisory: all releases before 7.1.2-31.
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 image processed over the network with no auth or interaction (AV:N/AC:L/PR:N/UI:N); CPU-exhaustion DoS yields availability-only Low impact, no confidentiality or integrity effect.
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 XMP profile can trigger excessive work while the parser determines a rational value's numerator and denominator, causing denial of service. 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-94396
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB