<?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>Cors — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/cors/</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>Tue, 31 Mar 2026 22:17:16 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/cors/feed.xml" rel="self" type="application/rss+xml"/><item><title>SiYuan Knowledge Management System RCE via Malicious Website</title><link>https://feed.craftedsignal.io/briefs/2026-04-siyuan-rce/</link><pubDate>Tue, 31 Mar 2026 22:17:16 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-siyuan-rce/</guid><description>SiYuan versions prior to 3.6.2 are vulnerable to remote code execution (RCE) via a malicious website exploiting a permissive CORS policy to inject a JavaScript snippet, leading to arbitrary code execution within the application's Node.js context.</description><content:encoded><![CDATA[<p>SiYuan is a personal knowledge management system. Versions prior to 3.6.2 contain a critical vulnerability (CVE-2026-34449) that allows a malicious website to execute arbitrary code on any desktop running the application. This is achieved by exploiting an overly permissive Cross-Origin Resource Sharing (CORS) policy (&ldquo;Access-Control-Allow-Origin: *&rdquo; combined with &ldquo;Access-Control-Allow-Private-Network: true&rdquo;). An attacker can inject a JavaScript snippet into the application via its API. This injected code then executes in the context of Electron&rsquo;s Node.js environment, granting the attacker full operating system access. The vulnerability is triggered simply by a user visiting a malicious website while SiYuan is running. The issue has been addressed and patched in version 3.6.2 of SiYuan. This RCE can allow attackers to steal data, install malware, or perform other malicious activities on the victim&rsquo;s machine.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Victim launches the SiYuan application on their desktop (Windows, Linux, or macOS).</li>
<li>Victim visits a malicious website in a web browser while SiYuan is running.</li>
<li>The malicious website leverages the permissive CORS policy of SiYuan.</li>
<li>The malicious website sends an API request to the running SiYuan instance.</li>
<li>This API request injects a malicious JavaScript payload into SiYuan.</li>
<li>The injected JavaScript code is stored within SiYuan&rsquo;s data.</li>
<li>The next time the user opens SiYuan&rsquo;s UI, the injected JavaScript code executes within Electron&rsquo;s Node.js context.</li>
<li>The attacker gains full OS access and can perform arbitrary actions.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of CVE-2026-34449 allows for complete compromise of the user&rsquo;s system. The attacker can steal sensitive data, install persistent backdoors, or deploy ransomware. Given SiYuan&rsquo;s purpose as a knowledge management system, it likely holds valuable and sensitive personal or business information. The impact is significant due to the ease of exploitation requiring no user interaction beyond visiting a malicious website.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Immediately upgrade SiYuan to version 3.6.2 or later to patch CVE-2026-34449.</li>
<li>Monitor network connections for unusual API requests originating from web browsers, as this could indicate exploitation attempts. Deploy the Sigma rule <code>title: &quot;Detect Suspicious SiYuan API Access from Web Browser&quot;</code> to detect this behavior.</li>
<li>Implement strict CORS policies for web applications to prevent unauthorized cross-origin requests.</li>
<li>Enable process creation logging and monitor for unexpected processes spawned from SiYuan, as this could be a sign of successful RCE. Deploy the Sigma rule <code>title: &quot;Detect Processes Spawned from SiYuan Indicating RCE&quot;</code> to detect this.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>cve-2026-34449</category><category>rce</category><category>siyuan</category><category>cors</category></item><item><title>Glances XML-RPC Server Cross-Origin Information Disclosure</title><link>https://feed.craftedsignal.io/briefs/2026-05-glances-xmlrpc-cors/</link><pubDate>Mon, 30 Mar 2026 17:01:44 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-glances-xmlrpc-cors/</guid><description>The Glances XML-RPC server exposes sensitive system information due to a permissive CORS policy and missing Content-Type validation, enabling attackers to bypass CORS restrictions and steal data like hostnames, OS details, IP addresses, and process lists.</description><content:encoded><![CDATA[<p>The Glances system monitoring tool, when run in server mode using the XML-RPC interface (initiated with <code>glances -s</code> or <code>glances --server</code>), is vulnerable to a cross-origin information disclosure. This vulnerability exists because the XML-RPC server sends the <code>Access-Control-Allow-Origin: *</code> header on every HTTP response without validating the <code>Content-Type</code> header. An attacker can exploit this by crafting a CORS &ldquo;simple request&rdquo; (a POST request with <code>Content-Type: text/plain</code>) containing a valid XML-RPC payload.  Because browsers do not send a preflight OPTIONS request for simple requests, the attacker can bypass CORS protections and retrieve sensitive data. This affects Glances versions up to and including 4.5.1.  The separate REST API was patched in 4.5.1 (CVE-2026-32610), but the XML-RPC component remains vulnerable (CVE-2026-33533).</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker identifies a target running Glances in XML-RPC server mode, typically on port 61209 (<code>glances -s -p 61209</code>).</li>
<li>The attacker crafts a malicious webpage containing JavaScript code to send a POST request to the Glances XML-RPC endpoint (<code>/RPC2</code>).</li>
<li>The POST request includes an XML-RPC payload within the body (e.g., <code>&lt;?xml version=&quot;1.0&quot;?&gt;&lt;methodCall&gt;&lt;methodName&gt;getAll&lt;/methodName&gt;&lt;/methodCall&gt;</code>).</li>
<li>The request is sent with the <code>Content-Type</code> header set to <code>text/plain</code> to qualify as a CORS &ldquo;simple request,&rdquo; bypassing the need for a preflight OPTIONS request.</li>
<li>The Glances XML-RPC server processes the request regardless of the <code>Content-Type</code> due to missing validation in <code>GlancesXMLRPCHandler.send_my_headers</code> in <code>server.py</code>.</li>
<li>The server responds with the requested system monitoring data and includes the <code>Access-Control-Allow-Origin: *</code> header.</li>
<li>The attacker&rsquo;s JavaScript code parses the XML response and extracts the sensitive system information, including hostname, OS version, IP addresses, CPU/memory/disk/network stats, and the full process list with command lines.</li>
<li>The attacker exfiltrates the stolen data to a remote server or displays it within the malicious webpage.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows an attacker to steal sensitive system information from any Glances instance running in server mode without authentication.  This includes hostname, OS version, IP addresses, CPU/memory/disk/network statistics, and a full process list, which can expose sensitive credentials or internal paths contained within command-line arguments.  The default configuration for Glances has no authentication enabled, making all instances vulnerable out-of-the-box, impacting any user running Glances in server mode on a network-accessible interface.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Disable the Glances XML-RPC server (<code>glances -s</code>) if it&rsquo;s not required, as this is the root cause of the vulnerability.</li>
<li>Deploy the Sigma rule <code>Detect Glances XML-RPC getAll Request</code> to detect exploitation attempts against the XML-RPC endpoint.</li>
<li>Monitor network traffic for POST requests with <code>Content-Type: text/plain</code> to the <code>/RPC2</code> endpoint of Glances servers, using the IOC <code>url: http://TARGET_IP:61209/RPC2</code>.</li>
<li>Upgrade Glances to a patched version that addresses CVE-2026-33533 when a patch becomes available. Currently, the provided source indicates no patch exists even in the latest dev branch.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>glances</category><category>cors</category><category>information-disclosure</category><category>vulnerability</category></item></channel></rss>