<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Sat, 10 Oct 2026 05:46:21 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-276758</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-276758</link>
      <description>EUVD-2026-276758</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-276758</guid>
    </item>
    <item>
      <title>fkie_cve-2026-32940</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-32940</link>
      <description>&lt;p&gt;SiYuan is a personal knowledge management system. In versions 3.6.0 and below, SanitizeSVG has an incomplete blocklist — it blocks data:text/html and data:image/svg+xml in href attributes but misses data:text/xml and data:application/xml, both of which can render SVG with JavaScript execution. The unauthenticated /api/icon/getDynamicIcon endpoint serves user-controlled input (via the content parameter) directly into SVG markup using fmt.Sprintf with no escaping, served as Content-Type: image/svg+xml. This creates a click-through XSS: a victim navigates to a crafted URL, sees an SVG with an injected link, and clicking it triggers JavaScript via the bypassed MIME types. The attack requires direct navigation to the endpoint or &amp;lt;object&amp;gt;/&amp;lt;embed&amp;gt; embedding, since &amp;lt;img&amp;gt; tag rendering in the frontend doesn&amp;#39;t allow interactive links. This issue has been fixed in version 3.6.1.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;SiYuan is a personal knowledge management system. In versions 3.6.0 and below, SanitizeSVG has an incomplete blocklist — it blocks data:text/html and data:image/svg+xml in href attributes but misses data:text/xml and data:application/xml, both of which can render SVG with JavaScript execution. The unauthenticated /api/icon/getDynamicIcon endpoint serves user-controlled input (via the content parameter) directly into SVG markup using fmt.Sprintf with no escaping, served as Content-Type: image/svg+xml. This creates a click-through XSS: a victim navigates to a crafted URL, sees an SVG with an injected link, and clicking it triggers JavaScript via the bypassed MIME types. The attack requires direct navigation to the endpoint or &amp;lt;object&amp;gt;/&amp;lt;embed&amp;gt; embedding, since &amp;lt;img&amp;gt; tag rendering in the frontend doesn&amp;#39;t allow interactive links. This issue has been fixed in version 3.6.1.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-32940</guid>
    </item>
    <item>
      <title>GHSA-4mx9-3c2h-hwhg — SiYuan has a SanitizeSVG bypass via data:text/xml in getDynamicIcon (incomplete fix for CVE-2026-29183)</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-4mx9-3c2h-hwhg</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/siyuan-note/siyuan&lt;/p&gt;
&lt;p&gt;# SanitizeSVG bypass via data:text/xml in getDynamicIcon (incomplete fix for CVE-2026-29183)&lt;/p&gt;
&lt;p&gt;`SanitizeSVG` blocks `data:text/html` and `data:image/svg+xml` in href attributes but misses `data:text/xml` and `data:application/xml`. Both render SVG with `onload` JavaScript execution (confirmed in Chromium 136, other browsers untested).&lt;/p&gt;
&lt;p&gt;`/api/icon/getDynamicIcon` is unauthenticated and serves SVG as `Content-Type: image/svg+xml`. The `content` parameter (type=8) gets embedded into the SVG via `fmt.Sprintf` with no escaping. The sanitizer catches `data:text/html` but `data:text/xml` passes the blocklist -- only three MIME types are checked.&lt;/p&gt;
&lt;p&gt;This is a click-through XSS: victim visits the crafted URL, sees an SVG with an injected link, clicks it. If SiYuan renders these icons via `&amp;lt;img&amp;gt;` tags in the frontend, links aren&amp;#39;t interactive there -- the attack needs direct navigation to the endpoint URL or `&amp;lt;object&amp;gt;`/`&amp;lt;embed&amp;gt;` embedding.&lt;/p&gt;
&lt;p&gt;## Steps to reproduce&lt;/p&gt;
&lt;p&gt;Against SiYuan v3.6.0 (Docker):&lt;/p&gt;
&lt;p&gt;```sh
# 1. data:text/xml bypass -- &amp;lt;a&amp;gt; element preserved with href intact
curl -s --get &amp;#34;http://127.0.0.1:6806/api/icon/getDynamicIcon&amp;#34; \
  --data-urlencode &amp;#39;type=8&amp;#39; \
  --data-urlencode &amp;#39;content=&amp;lt;/text&amp;gt;&amp;lt;a href=&amp;#34;data:text/xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 onload=%27alert(document.domain)%27/%3E&amp;#34;&amp;gt;click&amp;lt;/a&amp;gt;&amp;lt;text&amp;gt;&amp;#39; \
  | grep -o &amp;#39;&amp;lt;a [^&amp;gt;]*&amp;gt;&amp;#39;
# Output: &amp;lt;a href=&amp;#34;data:text/xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 onload=%27alert(document.domain)%27/%3E&amp;#34;&amp;gt;&lt;/p&gt;
&lt;p&gt;# 2. data:text/html is…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/siyuan-note/siyuan&lt;/p&gt;
&lt;p&gt;# SanitizeSVG bypass via data:text/xml in getDynamicIcon (incomplete fix for CVE-2026-29183)&lt;/p&gt;
&lt;p&gt;`SanitizeSVG` blocks `data:text/html` and `data:image/svg+xml` in href attributes but misses `data:text/xml` and `data:application/xml`. Both render SVG with `onload` JavaScript execution (confirmed in Chromium 136, other browsers untested).&lt;/p&gt;
&lt;p&gt;`/api/icon/getDynamicIcon` is unauthenticated and serves SVG as `Content-Type: image/svg+xml`. The `content` parameter (type=8) gets embedded into the SVG via `fmt.Sprintf` with no escaping. The sanitizer catches `data:text/html` but `data:text/xml` passes the blocklist -- only three MIME types are checked.&lt;/p&gt;
&lt;p&gt;This is a click-through XSS: victim visits the crafted URL, sees an SVG with an injected link, clicks it. If SiYuan renders these icons via `&amp;lt;img&amp;gt;` tags in the frontend, links aren&amp;#39;t interactive there -- the attack needs direct navigation to the endpoint URL or `&amp;lt;object&amp;gt;`/`&amp;lt;embed&amp;gt;` embedding.&lt;/p&gt;
&lt;p&gt;## Steps to reproduce&lt;/p&gt;
&lt;p&gt;Against SiYuan v3.6.0 (Docker):&lt;/p&gt;
&lt;p&gt;```sh
# 1. data:text/xml bypass -- &amp;lt;a&amp;gt; element preserved with href intact
curl -s --get &amp;#34;http://127.0.0.1:6806/api/icon/getDynamicIcon&amp;#34; \
  --data-urlencode &amp;#39;type=8&amp;#39; \
  --data-urlencode &amp;#39;content=&amp;lt;/text&amp;gt;&amp;lt;a href=&amp;#34;data:text/xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 onload=%27alert(document.domain)%27/%3E&amp;#34;&amp;gt;click&amp;lt;/a&amp;gt;&amp;lt;text&amp;gt;&amp;#39; \
  | grep -o &amp;#39;&amp;lt;a [^&amp;gt;]*&amp;gt;&amp;#39;
# Output: &amp;lt;a href=&amp;#34;data:text/xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 onload=%27alert(document.domain)%27/%3E&amp;#34;&amp;gt;&lt;/p&gt;
&lt;p&gt;# 2. data:text/html is…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-4mx9-3c2h-hwhg</guid>
    </item>
  </channel>
</rss>
