Read the docs
TI-2026-46367 Aliases CVE-2026-64850GHSA-fj2p-qj2f-74v5

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

Priority HIGH 73CWE-94Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Code execution
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-94.

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00467 40th percentileScored 2026-11-07
Fix Fixed grav (getgrav): 2.0.7getgrav/grav (Packagist): 2.0.7

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
getgravgravbefore 2.0.72.0.7Patch availableCNA
—getgrav/grav (Packagist)before 2.0.72.0.7Patch availableGHSA-fj2p-qj2f-74v5
  • grav Vendorgetgrav Affected before 2.0.7 Fixed in 2.0.7 Patch available CNA
  • getgrav/grav (Packagist) Vendor— Affected before 2.0.7 Fixed in 2.0.7 Patch available GHSA-fj2p-qj2f-74v5

Remediation

  • Fix · CNA grav (getgrav) Fixed in 2.0.7
  • Fix · GHSA-fj2p-qj2f-74v5 getgrav/grav (Packagist) Fixed in 2.0.7 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-64850
  2. 2026-10-03 Alias added: GHSA-fj2p-qj2f-74v5

References

  • TI-2026-30893 Grav: Privilege Escalation via Missing Server-Side Validation of groups/access CVSS 3.1CRITICAL 9.4
  • TI-2025-28971 Cross Site Scripting vulnerability in grav v.1.7.48 and before allows an attacker to… CVSS 3.1CRITICAL 9.8
  • TI-2021-04523 Unauthenticated Arbitrary YAML Write/Update leads to Code Execution CVSS 3.1CRITICAL 9.8
  • TI-2026-50940 Grav CMS before 2.0.16 Origin Validation Bypass via Referer CVSS 4.0CRITICAL 9.3
  • TI-2026-46446 Grav before 2.0.7 Remote Code Execution via Blueprint dynamicData CVSS 4.0CRITICAL 9.3
  • TI-2021-22428 GravCMS 1.10.7 - Arbitrary YAML Write/Update (Unauthenticated) (2) CVSS 4.0CRITICAL 9.3
See all 228 →

Sources