<?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 Core + Admin Plugin (&lt; 2.0.0-Beta.2) — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/grav-core-+-admin-plugin--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 14:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/grav-core-+-admin-plugin--2.0.0-beta.2/feed.xml" rel="self" type="application/rss+xml"/><item><title>Grav CMS Stored XSS Vulnerability Leading to Potential RCE</title><link>https://feed.craftedsignal.io/briefs/2026-05-grav-xss/</link><pubDate>Wed, 06 May 2026 14:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-grav-xss/</guid><description>A stored XSS vulnerability exists in Grav Core + Admin Plugin versions before 2.0.0-beta.2, where a low-privileged user can inject malicious code via a crafted tag, potentially leading to the exfiltration of admin session context, bypassing CSRF protections, and escalating to remote code execution (RCE).</description><content:encoded><![CDATA[<p>Grav CMS versions prior to 2.0.0-beta.2 are susceptible to a stored XSS vulnerability. A low-privileged user with the ability to create pages can inject arbitrary JavaScript code through a crafted SVG tag. This vulnerability resides in the <code>system/src/Grav/Common/Security.php</code> file, specifically in the <code>detectXss</code> function, where insufficient input sanitization allows bypassing the intended XSS filter. Successful exploitation can lead to an administrator&rsquo;s session context being compromised, including the <code>admin_nonce</code>. This, in turn, enables attackers to bypass CSRF protections and execute arbitrary code on the server. The vulnerability was patched on 2026-04-24 and will be included in version 2.0.0-beta.2.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>A low-privileged user logs into the Grav CMS admin panel.</li>
<li>The user creates a new page or edits an existing one via the <code>admin/pages/&lt;page&gt;</code> endpoint.</li>
<li>In the page content, the user injects a malicious SVG tag containing an <code>onerror</code> event handler: <code>&lt;svg&gt;&lt;foreignObject&gt;&lt;img src=x onerror=eval(atob('...'))&gt;&lt;/foreignObject&gt;&lt;/svg&gt;</code>. The base64 encoded payload fetches the <code>/grav-admin/admin/config/info</code> endpoint.</li>
<li>The malicious page is saved.</li>
<li>A Super Admin user visits the compromised page through the Grav admin panel.</li>
<li>The injected JavaScript executes within the Super Admin&rsquo;s browser session.</li>
<li>The script fetches the <code>/grav-admin/admin/config/info</code> endpoint, which contains sensitive system information and the admin nonce.</li>
<li>The script sends the exfiltrated data to an attacker-controlled server via <code>navigator.sendBeacon</code>.</li>
<li>The attacker uses the exfiltrated <code>admin_nonce</code> to perform CSRF attacks and potentially achieve RCE.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this stored XSS vulnerability can lead to full system compromise. An attacker can leverage the exfiltrated <code>admin_nonce</code> to bypass CSRF protection, gain administrative privileges, and ultimately execute arbitrary code on the server. The impact includes potential data breaches, system takeover, and complete loss of confidentiality, integrity, and availability. This issue affects Grav Core + Admin Plugin versions prior to <code>v1.7.49.5 - Admin v1.10.49.1</code>. The vulnerability has a CVSS score of 9.0, indicating a critical risk.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to Grav CMS version 2.0.0-beta.2 or later to address the vulnerability.</li>
<li>Deploy the following Sigma rule to detect the injection of potentially malicious SVG tags in page content using web server logs, looking for <code>cs-uri-query</code> containing <code>&lt;svg</code> and <code>onerror</code>: &ldquo;Detect Suspicious SVG Tag Injection in Grav CMS&rdquo;.</li>
<li>Enable web server logging to monitor for POST requests containing SVG tags with event handlers in the request body via the <code>cs-uri-query</code> field.</li>
<li>Monitor network traffic for outbound connections from the Grav CMS server to external IPs, especially those initiated by browser processes.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">threat</category><category>grav</category><category>xss</category><category>rce</category><category>webserver</category></item></channel></rss>