CyberSecBulletin

Grav vulnerabilities

We track 122 vulnerabilities in Grav products across 8 products. 122 are rated high or critical, and none are known to be exploited. The most recent was published on November 13, 2026.

122vulnerabilities
16critical
106high
0exploited
8.3average CVSS score

Latest Grav vulnerabilities

  • 7.5 High severity

    grav: Improper Authentication

    CVE-2026-126294Grav

    Grav Login plugin before 3.11.0 contains an authentication bypass vulnerability that allows attackers with an account password to skip two-factor verification when the global twofa_enabled setting is off. Attackers can sign in through the /login form, remember

  • 7.1 High severity

    grav: Exposure of Sensitive Information to an Unauthorized Actor

    CVE-2026-124434Grav

    Grav Lightbox Gallery plugin 1.1.0 before 1.3.2 on Grav 2.x calls any medium method named in image, thumb or thumb_options shortcode values without core's allowed media action check. A page editor can chain addMetaFile with value, toYaml or toJson to read serv

  • 7.5 High severity

    grav: Exposure of Sensitive Information to an Unauthorized Actor

    CVE-2026-117604Grav

    Grav from 1.7.53.3 before 1.7.53.6 contains an authorization bypass in Debugger::isDebuggerRequestAuthorized() that allows unauthenticated visitors to read /__clockwork/ profiler data via a loopback REMOTE_ADDR fallback. Behind a same-host reverse proxy, remot

  • 8.8 High severity

    grav: Exposed Dangerous Method or Function

    CVE-2026-116019Grav

    Grav 2.0.15 before 2.2.13 contains an allowlist bypass vulnerability that allows page editors to invoke arbitrary public static methods by relocating data-*@ directives with unset-name@ or integer keys. Attackers with page-edit permission can embed crafted fie

  • 8.8 High severity

    grav-plugin-login: Improper Privilege Management

    CVE-2026-114658Grav

    Grav Login plugin from 3.6.0 before 3.9.13 contains a missing authorization vulnerability in the login.invite task that allows page authors to obtain super user accounts. Attackers can define an invitation form granting super access in page frontmatter, submit

  • 7.5 High severity

    grav: Uncontrolled Resource Consumption

    CVE-2026-112782Grav

    Grav 1.7.53 before 1.7.53.5 and 2.0.0-rc.8 before 2.2.2 contains a resource exhaustion vulnerability that allows anonymous visitors to bypass the system.images.max_pixels limit when system.images.url_actions is enabled. Attackers can send single-dimension or p

  • 8.8 High severity

    grav: Exposed Dangerous Method or Function

    CVE-2026-112780Grav

    Grav from 2.0.15 before 2.2.2 contains an allowlist bypass vulnerability that allows page editors to call arbitrary public static methods by renaming Flex form fields with replace-name@. Attackers with page-edit permission can smuggle data-*@ directives past t

  • 9.8 Critical severity

    grav-plugin-api: Allocation of Resources Without Limits or Throttling

    CVE-2026-112779Grav

    Grav API plugin (grav-plugin-api) 1.0.40 before 1.0.42 caches a full translation dictionary for every well-formed language code sent to the unauthenticated GET /api/v1/translations/{lang} endpoint, and 1.0.16 before 1.0.42 fails to check target and destination

  • 7.5 High severity

    grav: Exposure of Version-Control Repository to an Unauthorized Control Sphere

    CVE-2026-109326Grav

    Grav before 2.1.7 contains an information disclosure vulnerability because bundled nginx, lighttpd, IIS, and Caddy 2 configurations block .git only at document root. Unauthenticated attackers can request nested repositories such as user/.git to retrieve Git co

  • 7.5 High severity

    grav: Exposure of Sensitive Information to an Unauthorized Actor

    CVE-2026-109325Grav

    Grav from 2.0.22 before 2.1.7 contains an authentication bypass vulnerability in the Clockwork profiler that trusts loopback REMOTE_ADDR values. Unauthenticated attackers behind a same-host HTTP proxy can read profiler records exposing system and plugin config

  • 9.1 Critical severity

    grav-plugin-login-oauth: Use of Weak Credentials

    CVE-2026-109321Grav

    Grav Login OAuth plugin (grav-plugin-login-oauth) before 1.4.3 provisions OAuth accounts as ordinary Grav users with a deterministic <provider>.<id> username and an unsalted MD5 hash of the provider identifier as the password, without disabling password login.

  • 7.2 High severity

    grav-plugin-api: Improper Privilege Management

    CVE-2026-109317Grav

    Grav grav-plugin-api before 1.0.36 contains a privilege escalation vulnerability that allows delegated user managers to obtain super-admin access by storing positive scalar admin or api parent grants. Attackers with api.users.write can edit account access maps

  • 7.3 High severity

    grav-plugin-login: Exposure of Sensitive Information to an Unauthorized Actor

    CVE-2026-109314Grav

    Grav Login plugin 1.2.0 before 3.9.9 contains an information disclosure vulnerability that allows publishers to obtain password-reset tokens by authoring a page at the reset route. When a victim opens an emailed reset link, the publisher-controlled page render

  • 8.1 High severity

    grav-plugin-login: Improper Authentication

    CVE-2026-109313Grav

    Grav Login plugin 2.7.0 before 3.9.9 contains an authentication bypass vulnerability that allows attackers with a valid password to skip two-factor authentication through remember-me cookie restoration. Attackers can obtain a persistent remember-me cookie afte

  • 8.1 High severity

    grav-plugin-login: Improper Authentication

    CVE-2026-109312Grav

    Grav Login plugin 2.7.0 before 3.9.9 contains an authentication bypass in processUserProfile(), which checks that the session user exists but not that a pending front-end 2FA session is fully authorized. Attackers with a victim's password who can publish a pag

  • 8.2 High severity

    grav-plugin-datamanager: Improper Neutralization of Input During Web Page Generation

    CVE-2026-100673Grav

    The Grav Data Manager plugin (getgrav/grav-plugin-datamanager) versions 1.0.1 through 1.4.4 render stored data entries in the item-detail view (admin/templates/partials/item.html.twig) without escaping, applying Twig's `raw` filter — in some cases after a stri

  • 7.5 High severity

    grav-plugin-comments: Missing Authentication for Critical Functionality

    CVE-2026-100672Grav

    The Comments plugin (getgrav/grav-plugin-comments) for Grav CMS through version 1.2.10 registers an admin handler that returns comment data as JSON without any authentication check. The handler branches on isAdmin(), which only indicates that the admin service

  • 8.0 High severity

    grav: Exposure of Sensitive Information to an Unauthorized Actor

    CVE-2026-100671Grav

    Grav is a flat-file CMS. In versions 2.0.19 through 2.0.24 — and in 2.0.0 through 2.0.18 and 1.7.x only where content Twig has been explicitly enabled — page content authored by a user holding only page-write permission is rendered through a Twig sandbox that

  • 8.8 High severity

    grav: Authorization Bypass Through User-Controlled Key

    CVE-2026-100670Grav

    Grav CMS 2.0.14 through 2.0.24 contains a privilege escalation vulnerability in the group and account blueprints. The access map is gated by a `security@: admin.super` guard that is resolved by the field's exact path, so a submitted flat dot-notation key such

  • 7.5 High severity

    grav: Improper Handling of Case Sensitivity

    CVE-2026-100669Grav

    Grav before 2.0.25 ships web server configuration samples whose access-control deny rules are matched case-sensitively. In webserver-configs/web.config (IIS), every deny rule (user_sensitive_folders, user_accounts, user_data, user_error_redirect, user_pages, s

  • 7.5 High severity

    grav: Exposure of Sensitive Information to an Unauthorized Actor

    CVE-2026-92917Grav

    Grav is a flat-file CMS. In versions 2.0.0-rc.1 through 2.0.21, the Twig content sandbox fails to restrict the dump and serialize filters (print_r, vardump, json_encode, yaml_encode, string): GravExtension::assertSandboxDumpSafe() determines sandbox state by c

  • 7.5 High severity

    grav: Exposure of Sensitive Information to an Unauthorized Actor

    CVE-2026-92916Grav

    Grav is a flat-file CMS. In Grav 1.7.0 through 1.7.53.2 and 2.0.0 through 2.0.21, when the debugger is enabled (system.debugger.enabled: true, which is not the default), the Clockwork profiler endpoint is exposed without authentication: InitializeProcessor::ha

  • 8.7 High severity

    grav-plugin-api: Authentication Bypass by Spoofing

    CVE-2026-86196Grav

    Grav API plugin versions before 1.0.20 build password reset links from the untrusted Host header in the forgot-password endpoint, allowing unauthenticated attackers to redirect reset tokens to attacker-controlled domains. Attackers can send password reset requ

  • 8.7 High severity

    grav-plugin-api: Improper Privilege Management

    CVE-2026-86195Grav

    grav-plugin-api versions before 1.0.20 contain a privilege escalation vulnerability in the InvitationsController where the stripSuperFlags() method only removes nested super flags but fails to strip dot-keyed equivalents like api.super. A non-super user manage

  • 8.7 High severity

    grav-plugin-api: Incorrect Authorization

    CVE-2026-86193Grav

    grav-plugin-api before 1.0.20 fails to validate group-inherited super permissions in user-management guards, allowing non-super user managers to modify super-admin accounts. Attackers with api.access and api.users.write can patch password fields on group-super

  • 8.8 High severity

    grav: Improper Control of Generation of Code

    CVE-2026-85604Grav

    Grav before 2.0.18 (affected versions <= 2.0.17) contains a remote code execution vulnerability in the Twig sort filter. The sortFunc wrapper in GravExtension.php hardcodes Twig's isSandboxed argument to false, so unlike |map/|filter/|reduce, |sort accepts a p

  • 7.2 High severity

    grav-plugin-shortcode-core: Improper Neutralization of Input During Web Page Generation

    CVE-2026-85599Grav

    Grav Shortcode Core before 6.2.5 contains stored cross-site scripting vulnerabilities in the [lorem] tag parameter and [details] summary parameter that are written to rendered pages without escaping. Attackers with page-edit access can inject arbitrary HTML an

  • 9.8 Critical severity

    grav: Incorrect Authorization

    CVE-2026-80203Grav

    The getgrav/grav-plugin-api plugin before 1.0.18 does not enforce API-key scope in the requireNotSuperTarget() function in UsersController.php across seven sensitive user-management endpoints. The check uses isSuperAdmin() on the acting account rather than ver

  • 7.5 High severity

    grav: Insufficiently Protected Credentials

    CVE-2026-76846Grav

    Grav before 2.0.16 contains an incomplete default denylist in the Twig sandbox configuration that fails to block access to system configuration secrets. Attackers with page-edit permission can use config.get() or config.toArray() in Twig templates to retrieve

  • 8.8 High severity

    grav: Improper Neutralization of Special Elements Used in a Template Engine

    CVE-2026-75574Grav

    The Grav Email plugin (getgrav/grav-plugin-email) before 4.2.2 renders page-editor-controlled Email action parameters as unsandboxed Twig templates. An authenticated remote user with only api.access and api.pages.write permissions can place a Twig expression i

  • 7.5 High severity

    grav: Observable Timing Discrepancy

    CVE-2026-72700Grav

    The getgrav/grav-plugin-login Composer plugin before 3.9.1 (used by Grav) compares password reset and account activation tokens using a non-constant-time === string comparison instead of hash_equals() in classes/Controller.php (taskReset()) and login.php (acti

  • 8.4 High severity

    grav: Improper Link Resolution Before File Access

    CVE-2026-72696Grav

    Grav CMS before 2.0.16 contains a symlink following vulnerability in Scheduler Job::createLockFile() that allows local attackers to overwrite arbitrary files by pre-creating symlinks at predictable lock file paths in the world-writable temp directory. Attacker

  • 8.1 High severity

    grav: Improper Limitation of a Pathname to a Restricted Directory

    CVE-2026-72695Grav

    Grav before 2.0.16 contains a path traversal vulnerability in MediaUploadTrait::deleteFile() that allows authenticated users with media management permissions to delete arbitrary files by supplying filenames with directory traversal sequences. The method valid

  • 9.8 Critical severity

    grav: Incorrect Authorization

    CVE-2026-56710Grav

    Grav Login plugin versions before 1.0.16 fail to validate the target account's privilege level in the onApiUserListRowAction unlock handler. An attacker with api.users.write permission can clear login lockout counters on admin.super accounts, removing brute-fo

  • 7.5 High severity

    grav: Reliance on Reverse DNS Resolution for a Security-Critical Action

    CVE-2026-56709Grav

    Grav before 3.9.2 fails to validate untrusted Host headers in the sendInvitationEmail() function when constructing token-bearing invitation links. Attackers can manipulate the Host header to poison invitation links and redirect users to attacker-controlled dom

  • 7.7 High severity

    grav: Missing Authorization

    CVE-2026-56707Grav

    Grav Flex Objects plugin versions 1.4.0 through 1.4.7 contain an authorization bypass vulnerability in the flex-objects shortcode that allows users with page-edit access to render any registered Flex collection without permission checks. Attackers can place th

  • 8.7 High severity

    grav-plugin-api: Missing Authorization

    CVE-2026-64852Grav

    Grav API Plugin is a RESTful API for Grav CMS that provides full headless access to your site's content. Prior to 1.0.8, the Grav API plugin intercepts the apiKeyGenerate and apiKeyRevoke admin tasks in user/plugins/api/api.php and authorizes the caller with o

  • 8.5 High severity

    grav-plugin-shortcode-core: Improper Neutralization of Input During Web Page Generation

    CVE-2026-64851Grav

    Grav Shortcode Core Plugin allows for the development shortcode plugins that utilize the common format utilized by WordPress and BBCode. Prior to 6.2.2, Grav Shortcode Core passes shortcode syntax through Security::detectXss() because it contains no literal le

  • 8.7 High severity

    grav: Improper Control of Generation of Code

    CVE-2026-64850Grav

    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 dangerous callback paramet

  • 7.5 High severity

    grav-plugin-api: Use of HTTP Request With Sensitive Query String

    CVE-2026-63408Grav

    Grav API Plugin is a RESTful API for Grav CMS that provides full headless access to your site's content. Prior to 1.0.0-rc.16, the Grav API plugin JwtAuthenticator::extractBearerToken() accepts a JWT from the token URL query parameter on every /api/v1 route, i