p PatchFirst

PatchFirst · Latest vulnerabilities

getgrav/grav vulnerabilities · Page 2

Vulnerabilities published for getgrav/grav in the last 30 days: 0. Listed in the KEV catalogue: 0.

Filter vulnerabilities
Clear filters

Vulnerabilities: 99

  1. CVE-2026-62237

    Medium · CVSS 6EPSS 0.3%Fix available

    Grav < 2.0.4 ReDoS via regex_replace in Sandbox

    Grav before 2.0.4 contains a regular expression denial of service (ReDoS) vulnerability in the regex_replace filter and function, which are allowlisted in the Twig content sandbox. When Twig processing in page content is enabled (security.twig_content.process_enabled: true, disabled by default), an authenticated page editor can supply a catastrophically backtracking PCRE pattern that is passed directly to PHP's preg_replace(), causing unbounded CPU consumption and denial of service to the web server process.

    • Update to 2.0.4
    Published Updated
  2. CVE-2026-62232

    Critical · CVSS 9.1EPSS 0.35%Fix available

    Grav < 2.0.4 2FA Bypass via Secret Regeneration

    Grav before 2.0.4 contains a two-factor authentication bypass vulnerability in the login plugin where the regenerate2FASecret task checks only user existence, not authorization, during the pending TOTP challenge window. Attackers who know the victim's password can call this task without a CSRF nonce to overwrite the 2FA secret with an attacker-chosen value, compute a valid TOTP code, and complete authentication while reducing 2FA to password-only protection.

    • Update to 2.0.4
    Published Updated
  3. CVE-2026-62230

    High · CVSS 8.7EPSS 0.38%Fix available

    Grav < 2.0.4 File Access Bypass via Case Variation

    Grav before 2.0.4 ships a default .htaccess (and reference webserver-configs/htaccess.txt) whose rules blocking access to sensitive file types (.yaml, .php, .json, etc.) lack the [NC] flag, making extension matching case-sensitive. On case-insensitive filesystems (Windows/NTFS, macOS/HFS+, or Docker volume mounts), an unauthenticated attacker can request these files with uppercase or mixed-case extensions (e.g., .YAML, .PHP) to bypass the restrictions and read sensitive configuration files that may contain API keys and credentials.

    • Update to 2.0.4
    Published Updated
  4. CVE-2026-61453

    Medium · CVSS 5.1EPSS 0.2%Fix available

    Grav before 2.0.1 XSS via Twig String Concatenation

    Grav v2.0.0 contains a cross-site scripting vulnerability (fixed in 2.0.1). The XSS blueprint validator (Security::detectXss()) runs on raw page content before Twig processing. When Twig content processing is enabled (twig_content.process_enabled: true), an attacker with page-write API permission can use Twig's string concatenation operator (~) to dynamically construct event handler names, dangerous tag names, or dangerous protocols at render time (e.g. {% set x = "on" ~ "error" %}). The validator sees only the harmless Twig expression and allows the content, but after Twig rendering the output (rendered via {{ page.content|raw }}) contains a

    • Update to 2.0.1
    Published Updated
  5. CVE-2026-61449

    High · CVSS 7.1EPSS 0.3%Fix available

    Grav before 2.0.2 Decompression Bomb via Forged ZIP Size

    Grav 2.0.1 contains a decompression-bomb size-cap bypass in ZipArchiver and GPM\Installer. The size bound introduced in 2.0.1 sums the uncompressed size declared in each entry's ZIP central-directory header (ZipArchive::statIndex()['size']) and rejects archives exceeding system.gpm.archive.max_uncompressed_size before extraction. Because this declared size is attacker-forgeable and is not cross-checked against the actual inflated stream, a crafted archive declaring tiny per-entry sizes passes the cap while extractTo() writes the real, much larger content, filling disk or exhausting inodes. The archive must be supplied by a package source or a

    • Update to 2.0.2
    Published Updated
  6. CVE-2026-59193

    Medium · CVSS 6.9EPSS 0.6%Fix available

    Grav CMS — Improper Handling of Highly Compressed Data in Installer::unZip()

    Grav is a file-based Web platform. Prior to 2.0.0, an authenticated admin.super user can crash Grav or fill the disk by uploading a specially crafted ZIP archive through the Direct Install tool because Installer::unZip calls ZipArchive::extractTo without limits on uncompressed size, entry count, or directory depth. This issue is fixed in version 2.0.0.

    • Update to 2.0.0
    Published Updated
  7. CVE-2026-55890

    Medium · CVSS 4.8EPSS 0.5%Fix available

    Grav: Stored CSS injection via Markdown image ?style=… reaches MediaObjectTrait::style()

    Grav is a file-based Web platform. Prior to 2.0.0-rc.9, Grav's incomplete fix for stored XSS through the Markdown media attribute action (CVE-2026-42841) leaves the sibling MediaObjectTrait::style method reachable through the same Markdown excerpt-action pipeline, allowing an editor to save Markdown image style parameters that are written into the rendered img style attribute without sanitization. This issue is fixed in version 2.0.0-rc.9.

    • Update to 2.0.0-rc.9
    Published Updated
  8. CVE-2026-55885

    Medium · CVSS 6.8EPSS 0.21%Fix available

    Grav: Admin Backup Zip File Exposes Account Credentials and Configuration Secrets

    Grav is a file-based Web platform. Prior to 1.7.53, an authenticated administrator with backup permissions can download a ZIP archive containing the full Grav installation root, including user/accounts/admin.yaml with the administrator password hash and user/config with site configuration, through the backup download endpoint protected only by the session-static admin-nonce URL parameter. This issue is reported as fixed in version 1.7.53.

    • Update to 1.7.53
    Published Updated
  9. CVE-2026-53653

    High · CVSS 8.7EPSS 0.52%Fix available

    Grav: Unauthenticated denial of service via unbounded image derivative dimensions

    Grav is a file-based Web platform. Prior to 1.7.53 and 2.0.0-rc.8, Grav allows an unauthenticated visitor to exhaust server memory and CPU by requesting image derivatives with oversized dimensions through URL query image actions such as forceResize in Grav::fallbackUrl, which passes request parameters to ImageMedium magic actions without a dimension or pixel ceiling. This issue is fixed in versions 1.7.53 and 2.0.0-rc.8.

    • Update to 1.7.53
    • Update to 2.0.0-rc.8
    Published Updated
  10. CVE-2026-61455

    High · CVSS 7.1EPSS 0.3%Fix available

    Grav before 2.0.1 Decompression Bomb via ZipArchiver

    Grav before 2.0.1 contains a decompression bomb vulnerability in ZipArchiver::extract() that lacks limits on uncompressed size, file count, and nesting depth. Attackers can supply a crafted ZIP archive that expands to fill available disk space, causing denial of service by exhausting storage resources.

    • Update to 2.0.1
    Published Updated
  11. CVE-2026-61450

    High · CVSS 7.1EPSS 5.42%Fix available

    Grav before 2.0.2 Config Exfiltration via offsetGet Filter

    Grav before 2.0.2 contains a Twig sandbox bypass that allows a page author (any admin.pages user, or anyone able to write to user/pages) to exfiltrate configuration secrets. Although the sandbox replaces the 'config' variable with a redacted facade and strips Config::get/toArray from the method allowlist, the raw container remains accessible via the allow-listed grav.offsetGet('config'), which returns the real Config object. Allow-listed object-dumping filters (json_encode, print_r, yaml_encode) then serialize that object at the PHP level without invoking the sandbox method gate, exposing the full config tree including plugin secrets such as

    • Update to 2.0.2
    Published Updated
  12. CVE-2026-58657

    Medium · CVSS 4.8EPSS 0.27%Fix available

    Grav - Stored CSS Injection via Markdown Image resize() Action

    Grav before 2.0.0 (affected through 2.0.0-rc.9 and the 2.0 branch) contains a stored CSS injection vulnerability in the Markdown image resize() media action. Prior media hardening rejects direct ?style= payloads and unsafe attribute() fallbacks, but the resize() action in Excerpts::processMediaActions() writes caller-controlled values directly into the image's styleAttributes. A lower-privileged content editor who can edit page Markdown can store a crafted image URL with semicolon-delimited CSS declarations in the resize parameters, which are rendered into the final <img style=...> attribute when a higher-privileged reviewer/admin views the p

    • Update to 2.0.0
    Published Updated
  13. CVE-2026-56700

    Critical · CVSS 9.3EPSS 2.53%Fix available

    Grav - Multiple Remote Code Execution Vulnerabilities via Unsafe Unserialize and Command Injection

    Grav CMS before 2.0.0-beta.2 contains multiple code-execution vulnerabilities. Three unsafe unserialize() calls - in Scheduler\JobQueue, Framework\Cache\Adapter\FileCache, and Session - deserialize untrusted data without restricting allowed classes, enabling PHP object injection and, via a gadget chain, arbitrary code execution where an attacker controls the serialized input. Additionally, InstallCommand's git clone operation passes the branch, url, and path parameters into a shell command without escaping, allowing OS command injection via plugin/theme installation (which requires admin access). A Twig security blocklist bypass (server-side

    • Update to 2.0.0-beta.2
    Published Updated
  14. CVE-2020-37256

    Medium · CVSS 5.1EPSS 0.29%Fix available

    Grav - Cross-Site Scripting in Admin Plugin Page Editor

    Grav before 1.6.30 contains a cross-site scripting vulnerability in the Admin plugin page editor default security configuration. Privileged users with page editing capabilities can inject malicious scripts to execute arbitrary code and install malicious plugins for system access.

    • Update to 1.6.30
    Published Updated
  15. CVE-2026-56701

    High · CVSS 7.1EPSS 0.3%Public exploitFix available

    Grav - XML External Entity Injection via SVG Upload

    Grav before 2.0.0-beta.2 contains an XML external entity injection vulnerability in SVG file upload processing that allows authenticated attackers to read arbitrary files. The application uses simplexml_load_string without disabling external entity loading, enabling attackers to inject XXE payloads via malicious SVG files to exfiltrate sensitive data.

    • Update to 2.0.0-beta.2
    Published Updated
  16. CVE-2026-42844

    High · CVSS 8.7EPSS 0.34%Fix available

    Grav: Low-privileged API users can create super-admin accounts via blueprint-upload

    Grav is a file-based Web platform. In Grav 2.0.0-beta.2, a low-privileged authenticated API user with api.media.write can abuse /api/v1/blueprint-upload to write an arbitrary YAML file into user/accounts/, then log in as the newly created account with api.super privileges. This results in full administrative compromise of the Grav API. This vulnerability is fixed in API 1.0.0-beta.17.

    • Update to 2.0.0-beta.4
    Published Updated
  17. CVE-2026-44737

    Medium · CVSS 6.2EPSS 0.32%Fix available

    grav-plugin-admin: Stored Cross-Site Scripting (XSS) Reflected endpoint /admin/pages/[page], parameter data[header][title]

    grav-plugin-admin is the admin plugin for Grav is an HTML user interface that provides a convenient way to configure Grav and easily create and modify pages. Prior to 1.10.49.5, the application fails to properly validate and sanitize user input in the data[header][title] parameter. As a result, attackers can craft a malicious URL with an XSS payload. When this URL is accessed, the injected script is reflected back in the HTTP response and executed within the context of the victim's browser session. This vulnerability is fixed in 1.10.49.5.

    • Update to 1.7.49.5
    Published Updated
  18. CVE-2026-44738

    High · CVSS 7.7EPSS 0.28%Fix available

    Grav: Twig sandbox allows editor-role users to exfiltrate all plugin secrets via Config::toArray()

    Grav is a file-based Web platform. Prior to 2.0.0-rc.2, the Twig sandbox allow-list permits any user with the admin.pages role to call config.toArray() from within a page body, dumping the entire merged site configuration — including all plugin secrets (SMTP passwords, AWS keys, OAuth client secrets, API tokens) — into the rendered HTML. No administrator privileges are required. This vulnerability is fixed in 2.0.0-rc.2.

    • Update to 2.0.0-rc.2
    Published Updated
  19. CVE-2026-42842

    Medium · CVSS 5.4EPSS 0.18%Fix available

    grav-plugin-form: XSS via Taxonomy Field Values in Admin Panel

    The form plugin for Grav adds the ability to create and use forms. Prior to 9.1.0, a Stored Cross-Site Scripting (XSS) vulnerability exists in the Grav CMS Form plugin's select field template. Taxonomy tag and category values are rendered with the Twig |raw filter in the admin panel, bypassing the global autoescape protection. An editor-level user can inject arbitrary JavaScript that executes in any administrator's browser session when they view or edit any page in the admin panel. This vulnerability is fixed in 9.1.0.

    • Update to 2.0.0-beta.2
    Published Updated
  20. CVE-2026-42613

    Critical · CVSS 9.4EPSS 1.14%Fix available

    Grav: Privilege Escalation via Missing Server-Side Validation of groups/access

    Grav is a file-based Web platform. Prior to 2.0.0-beta.2, the Login::register() method in the Login plugin accepts attacker-controlled groups and access fields from the registration POST data without server-side validation. When registration is enabled and groups or access are included in the configured allowed fields list, an unauthenticated user can self-register with admin.super privileges by injecting these fields into the registration request. This vulnerability is fixed in 2.0.0-beta.2.

    • Update to 2.0.0-beta.2
    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →