# CVE-2026-53653: Grav denial of service via unbounded image resizing

Source: https://junglewise.ai/threats/cve-2026-53653-grav-denial-of-service-via-unbounded-image-resizing  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-07-10. Updated: 2026-09-24  
License: CC BY 4.0 with a link back

CVE-2026-53653 · Severity: high · CVSS 4 · Published 2026-07-10

Grav is a popular flat-file content management system used to build websites without a database. An unauthenticated attacker can crash the server by requesting images with extremely large resize dimensions, consuming gigabytes of RAM and CPU from a single request. A few concurrent requests can take an entire web host offline, causing service unavailability for all users.

Technologies: [Grav](https://junglewise.ai/threats/technologies/grav), [getgrav/grav (Packagist)](https://junglewise.ai/threats/technologies/getgrav-grav). Vendors: [Grav](https://junglewise.ai/threats/vendors/grav), [Packagist](https://junglewise.ai/threats/vendors/packagist).

## Quick answers

**Is CVE-2026-53653 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-53653 being exploited in the wild.

**How severe is CVE-2026-53653?** High severity, with a CVSS score of 4, published 10 July 2026.

**Which products and versions are affected?** Grav < 1.7.53; getgrav/grav (Packagist) ECOSYSTEM:introduced=2.0.0-beta.1,fixed=2.0.0-rc.8.

**Is there a fix for CVE-2026-53653?** Yes. getgrav/grav (Packagist): upgrade to 2.0.0-rc.8 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-53653 attacked?** It is attacked over the network, in a web application.

**Am I affected by CVE-2026-53653?** Check whether you run Grav or getgrav/grav (Packagist) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- getgrav/grav (Packagist): upgrade to 2.0.0-rc.8 or later

  ```sh
  composer require getgrav/grav:^2.0.0-rc.8
  ```


## Technical details

The vulnerability exists in Grav::fallbackUrl() (system/src/Grav/Common/Grav.php), which processes image transformation query parameters without validating dimension values. When a query parameter matches ImageMedium::$magic_actions, it calls the corresponding method (e.g., forceResize) with attacker-supplied dimensions. The GD image library's imagecreatetruecolor($w, $h) function allocates memory outside PHP's emalloc pool, bypassing PHP's memory_limit directive. An attacker can craft requests like `GET /image.png?forceResize=20000,20000` to force allocation of multi-gigabyte buffers. No authentication, plugin, or non-default configuration is required. The fix clamps numeric dimensions against a configurable ceiling (default 8000) before calling image manipulation functions.

## Affected products

- GetGrav Grav < 1.7.53; >= 2.0.0-beta.1 and < 2.0.0-rc.8

## Identifiers

- CVE-2026-53653
- GHSA-4x9g-vw65-vvf9

## Timeline

- 2026-06-16: disclosed: Published by GitHub Advisory Database
- 2026-08-14: advisory: Advisory reviewed and published to GitHub
- 2026-06-16: patched: Patches released: 1.7.53 and 2.0.0-rc.8

## References

- [https://api.github.com/users/iliaal](https://api.github.com/users/iliaal)
- [https://github.com/iliaal](https://github.com/iliaal)
- [https://api.github.com/users/iliaal/gists%7B/gist_id%7D](https://api.github.com/users/iliaal/gists%7B/gist_id%7D)
- [https://api.github.com/users/iliaal/repos](https://api.github.com/users/iliaal/repos)
- [https://avatars.githubusercontent.com/u/158724?v=4](https://avatars.githubusercontent.com/u/158724?v=4)
- [https://api.github.com/users/iliaal/events%7B/privacy%7D](https://api.github.com/users/iliaal/events%7B/privacy%7D)

## Related threats

- [Grav allowlist bypass in Flex form processing](https://junglewise.ai/threats/cve-2026-116019-grav-2-0-15-before-2-2-13-contains-an-allowlist-bypass)
- [Grav improper access control in FlexDirectory::dynamicFlexField()](https://junglewise.ai/threats/cve-2026-114660-grav-from-2-0-0-before-2-2-5-contains-an-improper-access-control)
- [Grav information disclosure via Twig HTTP Basic credentials](https://junglewise.ai/threats/cve-2026-114657-grav-from-2-0-0-before-2-2-5-contains-an-information-disclosure)
- [Grav image pixel limit bypass allows resource exhaustion](https://junglewise.ai/threats/cve-2026-112782-grav-1-7-53-before-1-7-53-5-and-2-0-0-rc-8-before-2-2-2-contains)
- [Grav information disclosure via nested Git repositories](https://junglewise.ai/threats/cve-2026-109326-grav-before-2-1-7-contains-an-information-disclosure)
