<?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>Apostrophecms — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/apostrophecms/</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>Thu, 14 May 2026 18:30:11 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/apostrophecms/feed.xml" rel="self" type="application/rss+xml"/><item><title>ApostropheCMS Stored XSS via Image Widget Link (CVE-2026-45011)</title><link>https://feed.craftedsignal.io/briefs/2026-05-apostrophe-xss/</link><pubDate>Thu, 14 May 2026 18:30:11 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-apostrophe-xss/</guid><description>A stored cross-site scripting vulnerability (CVE-2026-45011) was identified in ApostropheCMS image widget functionality, where a user with the Editor role can configure an image widget link to use a javascript: URL payload, which will execute arbitrary JavaScript in the victim’s browser when clicked.</description><content:encoded><![CDATA[<p>A stored cross-site scripting (XSS) vulnerability exists within the image widget functionality of ApostropheCMS version 4.29.0. An attacker with Editor privileges can inject malicious JavaScript code by configuring an image widget&rsquo;s link field with a <code>javascript:</code> URL. This vulnerability allows the attacker to execute arbitrary JavaScript code in the browsers of other users who interact with the compromised image link, including administrators and public visitors. The vulnerability is identified as CVE-2026-45011.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker logs into ApostropheCMS with Editor privileges.</li>
<li>The attacker navigates to the home page and enables edit mode.</li>
<li>The attacker adds an Image widget to the main content area.</li>
<li>The attacker selects an existing image from the media library.</li>
<li>The attacker opens the image widget settings.</li>
<li>In the &ldquo;Link to&rdquo; field, the attacker selects the &ldquo;URL&rdquo; option.</li>
<li>In the URL field, the attacker enters a malicious <code>javascript:</code> payload (e.g., <code>javascript:alert(document.domain)</code>).</li>
<li>The attacker saves the widget and updates the page, publishing the malicious content.</li>
<li>A victim (administrator or guest) visits the published page and clicks on the linked image.</li>
<li>The JavaScript payload executes in the victim&rsquo;s browser, potentially allowing the attacker to perform actions on their behalf.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows an attacker with Editor privileges to store a malicious JavaScript payload in a published page within ApostropheCMS. When other users, including administrators or public visitors, click on the affected image link, the injected JavaScript executes in their browsers. This can lead to account compromise, access to sensitive data, modification of content, phishing attacks, and overall compromise of visitors who interact with the malicious image link.</p>
<h2 id="recommendation">Recommendation</h2>
<p>Prioritize the following actions to mitigate this XSS vulnerability:</p>
<ul>
<li>Implement the vendor&rsquo;s recommended URL validation and sanitization for widget link fields to reject dangerous schemes like <code>javascript:</code> and <code>data:</code>.</li>
<li>Deploy the Sigma rule <code>Detect ApostropheCMS XSS via Javascript URL</code> to identify potential exploitation attempts.</li>
<li>Consider implementing a strict Content Security Policy (CSP) to limit the impact of potential XSS vulnerabilities.</li>
<li>Upgrade ApostropheCMS to a version that addresses CVE-2026-45011.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>xss</category><category>apostrophecms</category><category>cve-2026-45011</category><category>javascript</category></item><item><title>ApostropheCMS Authenticated SSRF via Rich-Text Widget Import (CVE-2026-45012)</title><link>https://feed.craftedsignal.io/briefs/2026-05-apostrophe-ssrf/</link><pubDate>Thu, 14 May 2026 18:27:23 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-apostrophe-ssrf/</guid><description>ApostropheCMS is vulnerable to authenticated server-side request forgery (SSRF) via rich-text widget import; an attacker with edit access can trigger server-side requests to attacker-controlled URLs during widget validation, enabling internal port scanning and potential data exfiltration by re-hosting image-compatible responses.</description><content:encoded><![CDATA[<p>ApostropheCMS versions 4.29.0 and earlier are vulnerable to an authenticated server-side request forgery (SSRF) vulnerability (CVE-2026-45012) within the rich-text widget import functionality. An authenticated user, possessing the ability to submit or edit rich-text widget content, can manipulate the import process to induce the server to issue requests to arbitrary URLs during widget validation. By injecting a crafted <code>&lt;img src&gt;</code> tag within the imported HTML, an attacker can trigger the server to fetch content from a specified URL. If the server receives an image-compatible response, ApostropheCMS may persist and re-host the fetched content, creating a vector for exfiltration of sensitive information. This vulnerability enables attackers to perform internal port scanning and potentially exfiltrate data.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An authenticated attacker logs into the ApostropheCMS application.</li>
<li>The attacker crafts a malicious rich-text widget payload containing an <code>import.html</code> attribute.</li>
<li>Within the <code>import.html</code>, the attacker includes an <code>&lt;img src&gt;</code> tag pointing to an attacker-controlled URL or internal resource.</li>
<li>The attacker submits the widget payload to the <code>/api/v1/@apostrophecms/area/validate-widget?aposMode=draft</code> endpoint.</li>
<li>The server-side <code>validate-widget</code> route parses the HTML content, identifies the <code>&lt;img&gt;</code> tag, and resolves the URL.</li>
<li>The server then performs an HTTP <code>fetch()</code> request to the resolved URL, as specified in the <code>src</code> attribute.</li>
<li>If the response is image-compatible, ApostropheCMS attempts to process and store the fetched content as an image asset.</li>
<li>The attacker can then access the re-hosted image through a generated image URL, potentially exfiltrating data. If the response is not an image, the SSRF still occurs and can be used for reconnaissance purposes.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this SSRF vulnerability, tracked as CVE-2026-45012, allows authenticated users with rich-text widget editing privileges to trigger server-side requests to arbitrary URLs. This can enable attackers to scan internal network resources (127.0.0.1, private subnets), perform blind or semi-blind internal port and service discovery, and potentially exfiltrate data by causing the application to store and re-host fetched image content. The vulnerability affects ApostropheCMS versions 4.29.0 and earlier.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to a patched version of ApostropheCMS that addresses the SSRF vulnerability (CVE-2026-45012).</li>
<li>Deploy the Sigma rule <code>Detect ApostropheCMS SSRF via validate-widget</code> to detect requests to the vulnerable API endpoint with potentially malicious image URLs.</li>
<li>Monitor webserver logs for HTTP requests to internal or unusual destinations originating from the ApostropheCMS server.</li>
<li>Implement strict input validation and sanitization for user-supplied URLs, especially within rich-text widgets, to prevent the injection of malicious URLs.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>ssrf</category><category>apostrophecms</category><category>cve-2026-45012</category></item></channel></rss>