Exposed Dangerous Method or Function Affecting getgrav/grav package, versions >=2.0.15, <2.2.2


Severity

Recommended
0.0
critical
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

EPSS
0.72% (54th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-PHP-GETGRAVGRAV-21717127
  • published26 Oct 2026
  • disclosed19 Oct 2026
  • creditmanus-use

Introduced: 19 Oct 2026

NewCVE-2026-112780  (opens in a new tab)
CWE-749  (opens in a new tab)

How to fix?

Upgrade getgrav/grav to version 2.2.2 or higher.

Overview

getgrav/grav is a Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS.

Affected versions of this package are vulnerable to Exposed Dangerous Method or Function via the Blueprint::extend() method in system/src/Grav/Common/Data/Blueprint.php, where an attacker can supply a replace-name@ merge action in untrusted (page-authored) blueprint input to relocate a data-*@ directive to a top-level key that the per-directive provenance tracking never enumerates. Because dynamicPathsOf() probes the incoming array without applying the relocation, the relocated directive inherits the file-level trust of the base blueprint and bypasses the dynamic-callable allowlist, allowing arbitrary callable execution with the privileges of the web application. The CVSS v4 vector carries PR:N, which reflects the worst-case scenario where unauthenticated users can submit page content; the v3 vector's PR:L is used here as the primary score since authenticated low-privileged access is the more typical exploitation path.

References

CVSS Base Scores

version 4.0
version 3.1