<?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 (Versions &lt; 2.0.0-Beta.2) — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/grav-versions--2.0.0-beta.2/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 06 May 2026 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/grav-versions--2.0.0-beta.2/feed.xml" rel="self" type="application/rss+xml"/><item><title>Grav CMS FormFlash Unauthenticated Path Traversal and Arbitrary File Write</title><link>https://feed.craftedsignal.io/briefs/2026-05-grav-formflash-traversal/</link><pubDate>Wed, 06 May 2026 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-grav-formflash-traversal/</guid><description>Grav CMS is vulnerable to an unauthenticated path traversal vulnerability within the FormFlash component, allowing attackers to create arbitrary directories and write files, leading to configuration injection and potential denial of service; fixed in version 2.0.0-beta.2.</description><content:encoded><![CDATA[<p>Grav CMS versions prior to 2.0.0-beta.2 are susceptible to an unauthenticated path traversal vulnerability in the FormFlash component. This flaw allows unauthenticated attackers to manipulate the <code>__form-flash-id</code> parameter in POST requests, injecting path traversal sequences to create arbitrary directories and write malicious <code>index.yaml</code> files. This vulnerability stems from a lack of sanitization of the <code>session_id</code> parameter within the FormFlash class. Successful exploitation can lead to configuration injection, data integrity issues, cross-user data interference, and potential denial-of-service conditions through inode exhaustion. The vulnerability was confirmed in Grav v1.7.49.5 and the development branch as of March 2026, and is addressed in commit <code>d904efc33</code> on the 2.0 branch, which will ship in version 2.0.0-beta.2.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker identifies a Grav CMS page containing a form (e.g., <code>/contact</code>).</li>
<li>The attacker intercepts the POST request generated during form submission.</li>
<li>The attacker modifies the <code>__form-flash-id</code> parameter in the POST request to include a path traversal sequence (e.g., <code>../../user/config/poc_dir</code>).</li>
<li>The attacker submits the modified POST request to the server.</li>
<li>The vulnerable <code>FormFlash</code> class processes the unsanitized <code>__form-flash-id</code> parameter.</li>
<li>The application attempts to create a directory based on the traversed path using <code>locator-&gt;findResource</code>.</li>
<li>An arbitrary directory is created at the specified location (e.g., <code>/var/www/html/user/config/poc_dir/poc/</code>).</li>
<li>An <code>index.yaml</code> file is written to the newly created directory containing attacker-controlled data.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows unauthenticated attackers to achieve several malicious outcomes. Attackers can inject malicious configurations by writing <code>index.yaml</code> files into plugin/theme configuration directories, leading to altered application behavior and potential compromise. Cross-user data interference becomes possible, allowing attackers to overwrite temporary form data of other users. Data integrity is compromised through unauthorized modification of configuration subfolders, potentially leading to site corruption. Finally, attackers can trigger a denial-of-service condition by exhausting disk space or inodes through recursive directory creation.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply a strict alphanumeric regex to the <code>session_id</code> in the <code>FormFlash</code> class to prevent path traversal, as implemented in Grav 2.0.0-beta.2 (commit <code>d904efc33</code>).</li>
<li>Monitor web server logs for POST requests to form endpoints with <code>__form-flash-id</code> parameters containing path traversal sequences like <code>../</code> using the provided Sigma rules.</li>
<li>Upgrade to Grav CMS version 2.0.0-beta.2 or later, which includes the fix for CVE-2026-42608.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>path-traversal</category><category>file-write</category><category>gravcms</category></item></channel></rss>