Skip to main content

Grav CMS EUVDEUVD-2026-97626

| CVE-2026-109324 HIGH
Improper Handling of Highly Compressed Data (Data Amplification) (CWE-409)
2026-10-12 VulnCheck GHSA-fr83-pf82-gwp5
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain media-author account access
  2. Delivery
    Upload compressed oversized raster image
  3. Exploit
    Reference image via Twig/Markdown transform
  4. Execution
    GD/Imagick decodes without dimension checks
  5. Persist
    Memory exhausted on anonymous page requests
  6. Impact
    Repeated page unavailability (DoS)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Compression ratio limits
Exploitation Conditions

Requires an authenticated account with media-author (upload) privileges to introduce a maliciously crafted, highly compressed oversized raster image (PR:L confirmed by CVSS). The decode-amplification only triggers when the image is rendered through a Twig or Markdown image transform, meaning server-side image processing via GD or Imagick must be active and the transform must lack source-dimension validation (the vulnerable behavior fixed before 2.1.7). The amplifying/limiting factor is this split: the setup needs author privileges, but once the transformed image is embedded in published content, unauthenticated/anonymous HTTP requests to that page repeatedly trigger memory exhaustion, so the sustained-DoS trigger is not itself privileged. Mitigation is to upgrade to Grav 2.1.7 or later and/or restrict media-author trust.

Impact

This is a moderate-priority availability issue, not a critical emergency. The CVSS 4.0 base score of 7.1 is driven entirely by availability impact (VA:H) with no confidentiality or integrity impact (VC:N/VI:N) - it is purely a denial-of-service data-amplification flaw (CWE-409). The vector shows network attack (AV:N), low complexity (AC:L), and crucially low privileges (PR:L), meaning the initial upload requires an authenticated media-author account, which substantially limits the attacker population versus a fully unauthenticated flaw. There is an important nuance the single CVSS vector obscures: the description indicates a two-stage exploit - an authenticated media author plants an oversized compressed raster image, but once a Twig/Markdown transform references it, *anonymous* requests can repeatedly trigger memory exhaustion. So the trigger surface is effectively unauthenticated even though the setup is not; this makes repeated, low-effort availability disruption plausible once an attacker has any author-level foothold. EPSS is not provided in the input, KEV status is not listed (so not CISA-confirmed exploited), and no public POC is referenced, so exploitation signals are absent. Net: a real, actionable availability bug for Grav operators, but the authenticated-upload prerequisite keeps it below drop-everything urgency for most deployments.

Exploit ScenarioDerived

An attacker who holds (or phishes/registers) a media-author account on a Grav site uploads a highly compressed oversized raster image (a 'decompression bomb'). They then publish content referencing a Twig or Markdown image transform so that GD or Imagick decodes the full uncompressed image without dimension checks; thereafter any anonymous visitor requesting that page forces the server to allocate massive memory, repeatedly crashing or hanging the site. No public exploit code is identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 12, 2026

Memory exhaustion denial of service affects Grav CMS versions before 2.1.7, where an authenticated user with media-author upload privileges can submit a highly compressed oversized raster image that, when referenced through a Twig or Markdown image transform, is fully decoded by GD or Imagick without source-dimension validation. Once the transformed image is embedded in published content, unauthenticated page requests repeatedly trigger the decode-and-allocate behavior, causing sustained page unavailability; the assessed CVSS 4.0 base score is 7.1 (AV:N/AC:L/AT:N/PR:L/UI:N/VA:H), and no public exploit code was identified at time of analysis.

RemediationAI

Upgrade to Grav CMS 2.1.7 or later - vendor-released patch: 2.1.7 - which adds source-dimension checks before decoding, as documented in the vendor advisory https://github.com/getgrav/grav/security/advisories/GHSA-h253-r5hw-95r5 and the VulnCheck advisory https://www.vulncheck.com/advisories/grav-before-2.1.7-memory-exhaustion-via-oversized-image-transforms. If immediate upgrade is not possible, restrict media-author upload rights to fully trusted users, since the attack requires an authenticated account with upload privileges (PR:L) to place the crafted image; note this does not remove already-published malicious images, so scan or purge existing media and any published pages that embed untrusted raster transforms. As a further compensating control, disable or constrain Twig/Markdown image transforms on user-supplied content, or run PHP with a tighter memory_limit so the worker fails per-request rather than exhausting the server - the trade-off is that legitimate large-image processing may be rejected or fail with out-of-memory errors. Also consider adding a PHP-level image dimension validation step (e.g., getimagesize) before GD/Imagick decoding, capping megapixels to a sane threshold for the deployment.

Affected VersionsENISA

grav 0 <2.1.7

Affected Packages

euvd grav fix: 2.1.7

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 vulnerability is classified CWE-409 (Improper Handling of Highly Compressed Data / Data Amplification). Grav is a flat-file PHP CMS that renders content through Twig templates and Markdown; image transforms in those pipelines route raster images to the GD or Imagick PHP extensions for decoding and resizing. Before 2.1.7, the transform path did not validate the source image's declared or computed dimensions before decoding, so an attacker could supply a small, highly compressed raster file (for example, a large uniform-color PNG or JPEG) whose decompressed pixel buffer is orders of magnitude larger than the file itself. CPE cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:* identifies all Grav releases prior to 2.1.7 as affected; the CVSS vector PR:L confirms the attacker must hold an authenticated account with media-author upload rights, but the resulting memory exhaustion is triggered by anonymous HTTP requests to any page that embeds the transformed image, splitting the setup privilege from the sustained denial-of-service trigger. The fix in 2.1.7 adds dimension checks before the decode, capping the allocation.

Know when Grav 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

Vendor (VulnCheck) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Initial upload needs media-author privileges so PR:L; low complexity and network-reachable trigger give AV:N/AC:L; impact is availability-only (A:H), with no confidentiality or integrity effect.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 12, 2026 - 18:03 EUVD
CVE Published
Oct 12, 2026 - 16:05 cve.org
HIGH 7.1

DescriptionCVE.org

Grav before 2.1.7 contains a denial of service vulnerability that allows authenticated media authors to exhaust memory by uploading compressed oversized raster images. Attackers can reference a Twig or Markdown transform so GD or Imagick decodes the full source without dimension checks, letting anonymous requests repeatedly cause page unavailability.

Executive ViewAI

Why It Matters

Grav CMS versions before 2.1.7 are vulnerable to a memory exhaustion denial-of-service attack that can render websites unavailable. An authenticated user with media upload privileges can upload a specially crafted image that, when embedded in content, causes sustained page unavailability for all visitors. This could disrupt public-facing services, damage customer trust, and require emergency mitigation. No vendor patch is currently available, and no public exploit code has been identified at this time.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations include restricting media upload privileges to trusted users, implementing server-side validation of image dimensions and compression ratios, configuring memory limits for GD/Imagick, deploying WAF rules to block oversized image transforms, and monitoring server memory usage for anomalies.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Low
niche open-source flat-file CMS, limited enterprise footprint
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Grav

View all
CVE-2025-66294 HIGH POC
8.7 Dec 01

Server-side template injection (SSTI) in Grav (getgrav/grav) prior to 1.8.0-beta.27 allows an authenticated attacker hol

CVE-2025-66301 HIGH POC
8.6 Dec 01

Broken access control in Grav CMS (CWE-285) before 1.8.0-beta.27 lets an authenticated editor-level user escalate their

CVE-2025-50286 HIGH POC
8.1 Aug 06

A Remote Code Execution (RCE) vulnerability in Grav CMS v1.7.48 allows an authenticated admin to upload a malicious plug

CVE-2024-34082 CRITICAL POC
9.9 May 15

Grav is a file-based Web platform. Rated critical severity (CVSS 9.9), this vulnerability is remotely exploitable, low a

CVE-2021-47812 CRITICAL POC
9.8 Jan 16

GravCMS 1.10.7 allows unauthenticated remote attackers to write arbitrary YAML configuration files, leading to full serv

CVE-2026-65008 CRITICAL POC
9.3 Jul 21

Remote code execution in Grav CMS 2.0.4 (fixed in 2.0.7) lets an authenticated user holding the admin.pages or api.pages

CVE-2026-75827 CRITICAL POC
9.3 Aug 18

Remote code execution in Grav CMS before 2.0.15 allows attackers holding page-edit or blueprint-config privileges to wri

CVE-2026-75837 CRITICAL POC
9.3 Aug 18

Vertical privilege escalation in Grav CMS before 2.0.14 lets a delegated administrator holding only the admin.users perm

CVE-2026-75828 CRITICAL POC
9.3 Aug 18

Stored cross-site scripting in Grav CMS before 2.0.15 lets authenticated editors smuggle JavaScript event handlers past

CVE-2025-66844 CRITICAL POC
9.1 Dec 15

Server-side request forgery (SSRF) in Grav CMS versions prior to 1.7.49.5 allows remote authenticated attackers to make

CVE-2025-66299 HIGH POC
8.8 Dec 01

Grav is a file-based Web platform. Prior to 1.8.0-beta.27, Grav CMS is vulnerable to a Server-Side Template Injection (S

CVE-2026-72819 HIGH POC
8.7 Aug 14

Remote code execution in Grav CMS before 2.0.13 allows authenticated low-privilege users to plant and execute arbitrary

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy