Skip to main content
← All vulnerabilities
CVE-2026-64850GHSA-FJ2P-QJ2F-74V5

Grav: Remote code execution via unrestricted callable in Blueprint::dynamicData()

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.0.7
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: total

Summary

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 parameters. An account with admin.pages or api.pages.write can use Grav\Common\Utils::arrayFilterRecursive() as a trampoline with system as the callback, place a command in page frontmatter, and execute that command as the web server user when the page is viewed. This issue is fixed in version 2.0.7.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • getgrav grav

    fixed in 2.0.7

  • getgrav/gravPackagist

    fixed in 2.0.7

References 3

GitHub · getgrav/grav