<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Grav &lt; 2.0.7 - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/grav--2.0.7/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Tue, 21 Jul 2026 12:21:53 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/grav--2.0.7/feed.xml" rel="self" type="application/rss+xml"/><item><title>Grav Remote Code Execution Vulnerability in Blueprint::dynamicData()</title><link>https://feed.craftedsignal.io/briefs/2026-07-grav-rce/</link><pubDate>Tue, 21 Jul 2026 12:21:53 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-grav-rce/</guid><description>A critical remote code execution vulnerability (CVE-2026-65008) in Grav versions prior to 2.0.7 allows an authenticated attacker with `admin.pages` or `api.pages.write` permissions to embed malicious callable directives in a page's frontmatter, leading to arbitrary code execution as the web-server user when the page is accessed.</description><content:encoded><![CDATA[<p>A critical remote code execution (RCE) vulnerability, identified as CVE-2026-65008, has been discovered in Grav versions prior to 2.0.7. The flaw resides within the <code>Blueprint::dynamicData()</code> function in <code>system/src/Grav/Common/Data/Blueprint.php</code>, which unsafely passes a <code>Class::method</code> callable string and its arguments directly to PHP's <code>call_user_func_array()</code> without proper validation or an allowlist. This oversight enables an authenticated attacker with <code>admin.pages</code> or <code>api.pages.write</code> permissions to inject a malicious callable directive into a page's frontmatter. Subsequently, when any user, including unauthenticated visitors, accesses the compromised page, the embedded malicious command executes on the web server with the privileges of the web-server user, allowing for arbitrary code execution.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains authenticated access to a Grav installation with <code>admin.pages</code> or <code>api.pages.write</code> permissions.</li>
<li>The attacker accesses the Grav administration panel to create or modify an existing page.</li>
<li>The attacker embeds a malicious PHP callable string, such as <code>system('command')</code> or <code>exec('command')</code>, within the page's frontmatter definition.</li>
<li>The Grav application processes and stores the crafted page content, including the malicious callable directive.</li>
<li>Any user, whether authenticated or unauthenticated, navigates to and accesses the compromised Grav page via the web server.</li>
<li>During page rendering, the vulnerable <code>Blueprint::dynamicData()</code> function processes the page's frontmatter.</li>
<li>The function passes the attacker-controlled callable string and its arguments directly to <code>call_user_func_array()</code> without any sanitization or validation.</li>
<li>The malicious PHP code executes on the underlying web server with the privileges of the web-server user, granting the attacker arbitrary remote code execution capabilities.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of CVE-2026-65008 results in arbitrary remote code execution on the Grav host, with the privileges of the web-server user. This critical vulnerability (CVSS v3.1 Base Score: 9.8) grants attackers full control over the compromised Grav instance and potentially the underlying server. Impact could include website defacement, data exfiltration, installation of backdoors, further network penetration, or use of the server for malicious activities such as hosting malware or launching attacks. While no specific victim numbers or targeted sectors are detailed, any organization using affected Grav versions is at severe risk.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Patch Grav to version 2.0.7 or later immediately to remediate CVE-2026-65008.</li>
<li>Regularly review user permissions in Grav, especially those with <code>admin.pages</code> or <code>api.pages.write</code>, to ensure the principle of least privilege is strictly enforced.</li>
<li>Monitor web server access logs for unusual POST or PUT requests to Grav administration endpoints that create or modify page content, looking for suspicious embedded callable functions.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>web-exploitation</category><category>rce</category><category>php</category></item></channel></rss>