Quick answers
- Is CVE-2026-72695 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-72695 being exploited in the wild.
- How severe is CVE-2026-72695?
- High severity, with a CVSS score of 8.1, published 25 August 2026.
- Which products and versions are affected?
- getgrav/grav (Packagist) <= 2.0.15, ECOSYSTEM:introduced=0,fixed=2.0.16.
- Is there a fix for CVE-2026-72695?
- Yes. getgrav/grav (Packagist): upgrade to 2.0.16 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-72695 attacked?
- It is attacked over the network.
- Am I affected by CVE-2026-72695?
- Check whether you run 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.16 or later
composer require getgrav/grav:^2.0.16
Technical details
The vulnerability is a path traversal (CWE-22) in the `deleteFile()` method of MediaUploadTrait. The method validates only the filename basename using `Utils::checkFilename()`, allowing directory path components containing `../` sequences to bypass validation and be passed unescaped to `unlink()`. An authenticated user with page/media editing permissions can exploit this through the Flex media handling pipeline by submitting form data with traversal sequences in the media deletion keys. The attacker can escape the intended `user/pages/` media directory to delete arbitrary files. Fix: apply `checkFilename()` validation to the full filename parameter before path decomposition.
Affected products
- Grav Grav CMS 2.0.16 and earlier
Identifiers
- CVE-2026-72695
- GHSA-jq29-c7v8-rg55
Timeline
- 2026-09-17: disclosed
- 2026-09-17: advisory: GHSA-jq29-c7v8-rg55