CVE-2026-69089: Grav CMS before 2.0.11 Path Traversal via watermark
Grav CMS 2.0.10 contains a path traversal vulnerability in ImageMedium::watermark(), which passes its unsanitized $image argument to RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator::findResource(). Because the file:// scheme branch only lexically collapses '..' segments without a realpath/containment check, an editor authoring Markdown image syntax with traversal sequences can cause arbitrary image files outside Grav's media sandbox to be composited into a carrier image, which is then cached and served from a public, unauthenticated URL — disclosing those files to anonymous visitors.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-69089?
CVE-2026-69089 has a severity rating of high at 7.5.
How do I fix CVE-2026-69089?
To fix CVE-2026-69089, update Grav CMS to version 2.0.11 or later.
What type of vulnerability is CVE-2026-69089?
CVE-2026-69089 is categorized as a Path Traversal vulnerability.
What impact does CVE-2026-69089 have on Grav CMS?
CVE-2026-69089 allows unauthorized access to restricted files within Grav CMS.
Is CVE-2026-69089 present in all versions of Grav CMS?
CVE-2026-69089 is present in Grav CMS version 2.0.10 and earlier.