VulnSea

getgrav has 126 CVEs on record between 2025 and 2026. Disclosure cadence is accelerating: 86 in the last 90 days against 23 in the 90 before. The busiest recent month was August 2026 with 46. The median CVSS is 7.2 (high), with 11 rated critical. None have a confirmed exploitation report. The dominant weakness classes are CWE-79 (25) and CWE-200 (15). Most affected products: grav (70), getgrav/grav (30), grav-plugin-api (10).

CVEs per month

Last 12 months, by publish date

120102030405060708091011
Exploited share
0% vs 1% corpus
Median CVSS
7.2
Publish → KEV
—
Last 90 days
86 prev 23

Products

  • grav 70
  • getgrav/grav 30
  • grav-plugin-api 10
  • grav-plugin-login 4
  • grav-plugin-admin 3
  • grav-plugin-guestbook 2
126
Total CVEs
11
Critical
0
CISA KEV
0
Exploited

getgrav vulnerabilities

CVEs affecting getgrav, newest first. Open any entry for full detail, references, and exploit status.

126 CVEsRSS

CVE-2026-62669High· 7.4
2mo ago

Grav Login Plugin adds login, basic ACL, and session wide messages to Grav

Grav Login Plugin adds login, basic ACL, and session wide messages to Grav. Prior to 3.8.11, the Grav Login plugin login.regenerate2FASecret task checks only that the pending-session user exists rather than requiring $user->authorized. A…

▾ Twilightgetgrav · getgrav/gravEPSS 0.50%via NVD
CVE-2026-61690Medium· 6.5
2mo ago

Grav is a file-based Web platform

Grav is a file-based Web platform. Prior to 2.0.1, Grav ZipArchiver::extract() in system/src/Grav/Common/Filesystem/ZipArchiver.php passes archives to ZipArchive::extractTo() without enforcing the system.gpm.archive uncompressed-size, fi…

▾ Sunlitgetgrav · getgrav/gravEPSS 0.53%via NVD
CVE-2026-61842Medium· 6.5
2mo ago

Grav is a file-based Web platform

Grav is a file-based Web platform. Prior to 2.0.2, the Grav Twig content sandbox permits grav.offsetGet('config') to return the raw configuration object and permits json_encode, print_r, yaml_encode, and string filters to serialize that …

▾ Sunlitgetgrav · getgrav/gravEPSS 0.44%via NVD
CVE-2026-64850High
2mo ago

Grav is a file-based Web platform

Grav is a file-based Web platform. Prior to 2.0.7, Grav Blueprint::dynamicData() in system/src/Grav/Common/Data/Blueprint.php sends an editor-controlled Class::method provider and arguments to call_user_func_array() without rejecting dan…

▾ Twilightgetgrav · getgrav/gravEPSS 0.47%via NVD
CVE-2026-62673High
2mo ago

Grav is a file-based Web platform

Grav is a file-based Web platform. Prior to 2.0.4, the Grav .htaccess and webserver-configs/htaccess.txt security rules omit the Apache [NC] flag and therefore compare sensitive directory and file-extension patterns case-sensitively. On …

▾ Twilightgetgrav · getgrav/gravEPSS 0.54%via NVD
GHSA-fwwx-3362-3947Critical· 8.8
2mo ago

Duplicate Advisory: Grav: Blueprint dynamic-data bare-function branch is denylist-gated and omits error_log, giving arbitrary file write

Duplicate Advisory: Grav: Blueprint dynamic-data bare-function branch is denylist-gated and omits error_log, giving arbitrary file write

▾ Midnightgetgrav · getgrav/gravvia GHSA
GHSA-9pr6-8r9w-wvmjCritical· 8.7
2mo ago

Duplicate Advisory: Grav: detectXss() misses an event-handler attribute after an unpaired quote in an unquoted attribute value, giving stored XSS

Duplicate Advisory: Grav: detectXss() misses an event-handler attribute after an unpaired quote in an unquoted attribute value, giving stored XSS

▾ Midnightgetgrav · getgrav/gravvia GHSA
GHSA-993v-76jg-67xrMedium· 5.4
2mo ago

Duplicate Advisory: Grav: Single invalid UTF-8 byte disables every rule in Security::detectXss(), bypassing the page-content XSS safety gate

Duplicate Advisory: Grav: Single invalid UTF-8 byte disables every rule in Security::detectXss(), bypassing the page-content XSS safety gate

▾ Sunlitgetgrav · getgrav/gravvia GHSA
GHSA-m97h-2qj3-5773Critical· 9.1
2mo ago

Duplicate Advisory: Grav: Missing admin.super guard on core group blueprint access field allows admin.users operator to escalate to super-admin

Duplicate Advisory: Grav: Missing admin.super guard on core group blueprint access field allows admin.users operator to escalate to super-admin

▾ Midnightgetgrav · getgrav/gravvia GHSA
GHSA-2rhw-8953-48q3High· 5.9
2mo ago

Duplicate Advisory: Grav: Unauthenticated Path Traversal via Missing Directory-Boundary Check in `plugin-asset-map.php` Static Asset Server (`index.php`)

Duplicate Advisory: Grav: Unauthenticated Path Traversal via Missing Directory-Boundary Check in `plugin-asset-map.php` Static Asset Server (`index.php`)

▾ Twilightgetgrav · getgrav/gravvia GHSA
GHSA-q8cg-5m48-5c25Medium· 7.6
2mo ago

Duplicate Advisory: Grav: Stored XSS via Markdown audio/video media <source> URL

Duplicate Advisory: Grav: Stored XSS via Markdown audio/video media <source> URL

▾ Sunlitgetgrav · getgrav/gravvia GHSA
CVE-2026-75837Critical· 9.1PoC
2mo ago

Grav before 2.0.14 fails to guard the access field in the core group blueprint with the required security@: admin.super restriction

Grav before 2.0.14 fails to guard the access field in the core group blueprint with the required security@: admin.super restriction. A delegated admin.users operator can save a group with access[admin][super]=true to escalate to super-ad…

▾ Abyssalgetgrav · gravEPSS 0.49%via NVD
CVE-2026-75834Medium· 5.4
2mo ago

Grav before 2.0.14 contains a stored cross-site scripting vulnerability in the Security::detectXss() function (system/src/Grav/Common/Security.php)

Grav before 2.0.14 contains a stored cross-site scripting vulnerability in the Security::detectXss() function (system/src/Grav/Common/Security.php). All XSS detection patterns use the PCRE /u (UTF-8) modifier, so a single invalid UTF-8 b…

▾ Sunlitgetgrav · gravEPSS 0.26%via NVD
CVE-2026-75831High· 7.6PoC
2mo ago

Grav before 2.0.15 contains a stored cross-site scripting vulnerability in the audio and video media rendering through the sourceParsedownElement method

Grav before 2.0.15 contains a stored cross-site scripting vulnerability in the audio and video media rendering through the sourceParsedownElement method. The media URL fragment is concatenated unescaped into rawHtml source elements, allo…

▾ Midnightgetgrav · gravEPSS 0.35%via NVD
CVE-2026-75828High· 8.7PoC
2mo ago

Grav before 2.0.15 contains a stored cross-site scripting vulnerability in the detectXss() function where unpaired quotes in unquoted attribute values bypass event-handler detection

Grav before 2.0.15 contains a stored cross-site scripting vulnerability in the detectXss() function where unpaired quotes in unquoted attribute values bypass event-handler detection. Authenticated editors can inject event handlers like o…

▾ Midnightgetgrav · gravEPSS 0.39%via NVD
CVE-2026-75827High· 8.8PoC
2mo ago

Grav before 2.0.15 contains an arbitrary file write vulnerability in the Blueprint dynamic-data bare-function validation that uses an incomplete denylist instead of a positive allowlist

Grav before 2.0.15 contains an arbitrary file write vulnerability in the Blueprint dynamic-data bare-function validation that uses an incomplete denylist instead of a positive allowlist. Attackers with page-edit or blueprint-config acces…

▾ Midnightgetgrav · gravEPSS 0.86%via NVD
CVE-2026-75107Medium· 5.4PoC
2mo ago

Grav Form Plugin before 9.1.19 fails to escape field-definition properties including prepend, append, spacer text, section text, and select option labels in form templates

Grav Form Plugin before 9.1.19 fails to escape field-definition properties including prepend, append, spacer text, section text, and select option labels in form templates. Attackers with form authoring privileges can inject arbitrary HT…

▾ Twilightgetgrav · gravEPSS 0.24%via NVD
CVE-2026-74907Medium· 5.9
2mo ago

Grav before 2.0.15 contains a path traversal vulnerability in the static asset server within index.php that uses string prefix matching instead of directory-boundary validation

Grav before 2.0.15 contains a path traversal vulnerability in the static asset server within index.php that uses string prefix matching instead of directory-boundary validation. Unauthenticated attackers can access files in sibling direc…

▾ Sunlitgetgrav · gravEPSS 0.43%via NVD
CVE-2026-72831High· 8.8PoC
2mo ago

Grav through 2.0.11 Authentication Bypass via Flex Objects

The Flex Objects plugin (through 1.4.6, tested with Grav 2.0.11) contains an incorrect authorization vulnerability in its Flex Objects API. FlexApiController::update() checks only the general Flex directory permission and does not apply …

▾ Midnightgetgrav · gravEPSS 0.85%via CVEORG
CVE-2026-72833High· 8.8
2mo ago

The Grav API plugin (getgrav/grav-plugin-api) versions >= 1.0.6 and <= 1.0.11 contain a privilege escalation vulnerability

The Grav API plugin (getgrav/grav-plugin-api) versions >= 1.0.6 and <= 1.0.11 contain a privilege escalation vulnerability. A scoped API key minted on a super-admin account bypasses its declared scope cap on four isSuperAdmin()-gated wri…

▾ Twilightgetgrav · grav-plugin-apiEPSS 0.47%via NVD
GHSA-wvxr-6v52-gfmhHigh· 8.8
2mo ago

Duplicate Advisory: Remote code execution via .zip file upload in Grav CMS

Duplicate Advisory: Remote code execution via .zip file upload in Grav CMS

▾ Twilightgetgrav · getgrav/gravvia GHSA
GHSA-cgvr-f65r-pjv3Medium· 5.4
2mo ago

Duplicate Advisory: Grav: Stored XSS via quoted-attribute bypass in detectXss

Duplicate Advisory: Grav: Stored XSS via quoted-attribute bypass in detectXss

▾ Sunlitgetgrav · getgrav/gravvia GHSA
CVE-2026-72832Medium· 5.4PoC
2mo ago

Grav versions from 1.5.2 through 2.0.12 contain a stored cross-site scripting vulnerability in the Security::detectXss() function (system/src/Grav/Common/Security.php)

Grav versions from 1.5.2 through 2.0.12 contain a stored cross-site scripting vulnerability in the Security::detectXss() function (system/src/Grav/Common/Security.php). The event-handler scan is anchored at `<` and uses `[^>]*?`, which c…

▾ Twilightgetgrav · gravEPSS 0.31%via NVD
CVE-2026-72826High· 8.8PoC
2mo ago

The getgrav/grav-plugin-api plugin before 1.0.13 fails to validate that the scopes of a newly created API key are a subset of the caller's scopes in createApiKey

The getgrav/grav-plugin-api plugin before 1.0.13 fails to validate that the scopes of a newly created API key are a subset of the caller's scopes in createApiKey. The self-target path of requireApiKeyPermission() requires only the baseli…

▾ Midnightgetgrav · grav-plugin-apiEPSS 0.47%via NVD
CVE-2026-72825High· 7.6PoC
2mo ago

The getgrav/grav-plugin-api plugin before 1.0.13 contains an API-key scope cap bypass in the POST /reports/twig-content/allowlist endpoint (ReportsController)

The getgrav/grav-plugin-api plugin before 1.0.13 contains an API-key scope cap bypass in the POST /reports/twig-content/allowlist endpoint (ReportsController). The endpoint enforces requirePermission('api.config.write') followed by a bar…

▾ Midnightgetgrav · grav-plugin-apiEPSS 0.35%via NVD
CVE-2026-72819High· 8.8PoC
2mo ago

Grav CMS before 2.0.13 contains a remote code execution vulnerability in the Flex Objects plugin settings validation that allows authenticated users to execute arbitrary code by uploading a ZIP file containing PHP code

Grav CMS before 2.0.13 contains a remote code execution vulnerability in the Flex Objects plugin settings validation that allows authenticated users to execute arbitrary code by uploading a ZIP file containing PHP code. Attackers can byp…

▾ Midnightgetgrav · gravEPSS 0.90%via NVD
GHSA-vj8j-973f-r65jHigh· 8.1
3mo ago

Duplicate Advisory: Grav: Incomplete callable validation in blueprint dynamic fields allows arbitrary static method invocation and file disclosure

Duplicate Advisory: Grav: Incomplete callable validation in blueprint dynamic fields allows arbitrary static method invocation and file disclosure

▾ Twilightgetgrav · getgrav/gravvia GHSA
CVE-2026-69088High· 8.1PoC
3mo ago

Grav CMS versions 2.0.7 through 2.0.10 fail to validate fully-qualified static method calls (Class::method) in blueprint dynamic-field directives because Blueprint::isSafeDynamicCall() only applies its dangerous-callable denylist to stri…

Grav CMS versions 2.0.7 through 2.0.10 fail to validate fully-qualified static method calls (Class::method) in blueprint dynamic-field directives because Blueprint::isSafeDynamicCall() only applies its dangerous-callable denylist to stri…

▾ Midnightgetgrav · gravEPSS 0.29%via NVD
GHSA-mmwh-j75q-gxp8High· 7.5
3mo ago

Duplicate Advisory: Grav: Path Traversal in ImageMedium::watermark() — arbitrary file disclosure via publicly-cached images

Duplicate Advisory: Grav: Path Traversal in ImageMedium::watermark() — arbitrary file disclosure via publicly-cached images

▾ Twilightgetgrav · getgrav/gravvia GHSA
CVE-2026-69089High· 7.5PoC
3mo ago

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()

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 b…

▾ Midnightgetgrav · gravEPSS 0.46%via NVD
getgrav vulnerabilities (CVEs) — page 3 · VulnSea