Skip to content
Heist/ feed
Back to feed
High

SiYuan: Reflected XSS via SVG namespace prefix bypass in SanitizeSVG ( getDynamicIcon, unauthenticated )

Type: advisorySources: OSV

SiYuan is a personal knowledge management system. From version 3.6.0 to before version 3.6.2, the SanitizeSVG function introduced in version 3.6.0 to fix XSS in the unauthenticated /api/icon/getDynamicIcon endpoint can be bypassed by using namespace-prefixed element names such as . The Go HTML5 parser records the element's tag as "x:script" rather than "script", so the tag check passes it through. The SVG is served with Content-Type: image/svg+xml and no Content Security Policy; when a browser opens the response directly, its XML parser resolves the prefix to the SVG namespace and executes the embedded script. This issue has been patched in version 3.6.2.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-34605
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 20:05 UTC · Revision 1

Source evidence

SiYuan: Reflected XSS via SVG namespace prefix bypass in SanitizeSVG ( getDynamicIcon, unauthenticated )

core-osv · Original source

Published 31 Mar 2026, 21:50 UTC

SiYuan is a personal knowledge management system. From version 3.6.0 to before version 3.6.2, the SanitizeSVG function introduced in version 3.6.0 to fix XSS in the unauthenticated /api/icon/getDynamicIcon endpoint can be bypassed by using namespace-prefixed element names such as . The Go HTML5 parser records the element's tag as "x:script" rather than "script", so the tag check passes it through. The SVG is served with Content-Type: image/svg+xml and no Content Security Policy; when a browser opens the response directly, its XML parser resolves the prefix to the SVG namespace and executes the embedded script. This issue has been patched in version 3.6.2.

osv:CVE-2026-34605
Complete source record
{
  "id": "0db43ee9f00058b322b4813a4d20f09c15e2b6f0270db56c27339580bd156840",
  "url": "https://osv.dev/vulnerability/CVE-2026-34605",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "SiYuan: Reflected XSS via SVG namespace prefix bypass in SanitizeSVG ( getDynamicIcon, unauthenticated )",
    "summary": "SiYuan is a personal knowledge management system. From version 3.6.0 to before version 3.6.2, the SanitizeSVG function introduced in version 3.6.0 to fix XSS in the unauthenticated /api/icon/getDynamicIcon endpoint can be bypassed by using namespace-prefixed element names such as . The Go HTML5 parser records the element's tag as \"x:script\" rather than \"script\", so the tag check passes it through. The SVG is served with Content-Type: image/svg+xml and no Content Security Policy; when a browser opens the response directly, its XML parser resolves the prefix to the SVG namespace and executes the embedded script. This issue has been patched in version 3.6.2.",
    "evidence": "osv:CVE-2026-34605",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-34605",
      "aliases": [
        "CVE-2026-34605",
        "GHSA-73g7-86qr-jrg3",
        "GO-2026-5201"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/siyuan-note/siyuan",
              "type": "GIT",
              "events": [
                {
                  "introduced": "fd6526133bb318d534b8865998f8059ae765fdd1"
                },
                {
                  "fixed": "29b104f338f9b0cdda0df852871a09a6268ced2f"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "3.6.0"
                      },
                      {
                        "fixed": "3.6.2"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "29b104f338f9b0cdda0df852871a09a6268ced2f"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v3.6.2"
                  },
                  {
                    "cpe": "cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "3.6.0"
                      },
                      {
                        "fixed": "3.6.2"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v3.6.1",
            "v3.6.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-34605.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:23.381561395Z",
      "provider": "osv",
      "references": [
        "https://github.com/siyuan-note/siyuan/releases/tag/v3.6.2",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/34xxx/CVE-2026-34605.json",
        "https://github.com/siyuan-note/siyuan/security/advisories/GHSA-73g7-86qr-jrg3",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-34605",
        "https://github.com/siyuan-note/siyuan/issues/17246"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-79"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/34xxx/CVE-2026-34605.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-34605",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 489598,
  "published_at": "2026-03-31T21:50:10.076+00:00"
}