Skip to content
Heist/ feed
Back to feed
High

SiYuan: Bazaar marketplace renders unescaped package author metadata, allowing XSS and Electron code execution

Type: advisorySources: OSV

SiYuan is an open-source personal knowledge management system. From 2.1.12 to before 3.7.0. SiYuan's Bazaar marketplace renders package author metadata from the public bazaar stage feed into HTML without escaping. In the desktop app this becomes stored XSS, and because SiYuan's Electron windows are created with nodeIntegration: true and contextIsolation: false, a successful payload can call Node.js APIs and execute code on the host. This vulnerability is fixed in 3.7.0.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-44586
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 01:31 UTC · Revision 1

Source evidence

SiYuan: Bazaar marketplace renders unescaped package author metadata, allowing XSS and Electron code execution

core-osv · Original source

Published 14 May 2026, 18:11 UTC

SiYuan is an open-source personal knowledge management system. From 2.1.12 to before 3.7.0. SiYuan's Bazaar marketplace renders package author metadata from the public bazaar stage feed into HTML without escaping. In the desktop app this becomes stored XSS, and because SiYuan's Electron windows are created with nodeIntegration: true and contextIsolation: false, a successful payload can call Node.js APIs and execute code on the host. This vulnerability is fixed in 3.7.0.

osv:CVE-2026-44586
Complete source record
{
  "id": "6616a11b23db5404e31eb745d01e55a93deea86755f24539368324302feaa7fc",
  "url": "https://osv.dev/vulnerability/CVE-2026-44586",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "SiYuan: Bazaar marketplace renders unescaped package author metadata, allowing XSS and Electron code execution",
    "summary": "SiYuan is an open-source personal knowledge management system. From 2.1.12 to before 3.7.0. SiYuan's Bazaar marketplace renders package author metadata from the public bazaar stage feed into HTML without escaping. In the desktop app this becomes stored XSS, and because SiYuan's Electron windows are created with nodeIntegration: true and contextIsolation: false, a successful payload can call Node.js APIs and execute code on the host. This vulnerability is fixed in 3.7.0.",
    "evidence": "osv:CVE-2026-44586",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-44586",
      "aliases": [
        "CVE-2026-44586",
        "GHSA-x6wf-w2rg-2gw9"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/siyuan-note/siyuan",
              "type": "GIT",
              "events": [
                {
                  "introduced": "66059fdcfbd14811c23f7f8b2a7e864aed4c53bb"
                },
                {
                  "fixed": "27e0051e0d067892e833df1063cb2fb469600e98"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "2.1.12"
                      },
                      {
                        "fixed": "3.7.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.7.0"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v3.7.0-rc.2",
            "v3.7.0-rc.1",
            "v3.6.5",
            "v3.7.0-dev12",
            "v3.7.0-dev8",
            "v3.7.0-dev5",
            "v3.7.0-dev2",
            "v3.6.5-dev2",
            "v3.6.4",
            "v3.6.4-dev2",
            "v3.6.3",
            "v3.6.2",
            "v3.6.1",
            "v3.6.0",
            "v3.5.10",
            "v3.5.9",
            "v3.5.8",
            "v3.5.8-dev2",
            "v3.5.7",
            "v3.5.5",
            "v3.5.4",
            "v3.5.4-dev5",
            "v3.5.4-dev3",
            "v3.5.4-dev2",
            "v3.5.4-dev1",
            "v3.5.3",
            "v3.5.3-dev5",
            "v3.5.3-dev4",
            "v3.5.3-dev3",
            "v3.5.3-dev2",
            "v3.5.2",
            "v3.5.2-dev2",
            "v3.5.2-dev1",
            "v3.5.1",
            "v3.5.1-dev2",
            "v3.5.1-dev1",
            "v3.5.0",
            "v3.5.0-dev2",
            "v3.5.0-dev1",
            "v3.4.2",
            "v3.4.2-dev1",
            "v3.4.1",
            "v3.4.1-dev1",
            "v3.4.0",
            "v3.4.0-dev5",
            "v3.4.0-dev4",
            "v3.4.0-dev3",
            "v3.4.0-dev2",
            "v3.4.0-dev1",
            "v3.3.6",
            "v3.3.6-dev2",
            "v3.3.6-dev1",
            "v3.3.5",
            "v3.3.4",
            "v3.3.4-dev2",
            "v3.3.4-dev1",
            "v3.3.3",
            "v3.3.3-dev5",
            "v3.3.3-dev4",
            "v3.3.3-dev3",
            "v3.3.3-dev2",
            "v3.3.3-dev1",
            "v3.3.2",
            "v3.3.2-dev2",
            "v3.3.2-dev1",
            "v3.3.1",
            "v3.3.0",
            "v3.3.0-dev4",
            "v3.3.0-dev3",
            "v3.2.1",
            "v3.2.1-dev6",
            "v3.2.1-dev5",
            "v3.2.1-dev4",
            "v3.2.1-dev3",
            "v3.2.1-dev2",
            "v3.2.0-dev10",
            "v3.2.0-dev9",
            "v3.2.0-dev8",
            "v3.2.0-dev6",
            "v3.2.0-dev4",
            "v3.2.0-dev3",
            "v3.2.0-dev2",
            "v3.2.0-dev1",
            "v3.1.32",
            "v3.1.32-dev2",
            "v3.1.31",
            "v3.1.30",
            "v3.1.30-dev1",
            "v3.1.29",
            "v3.1.29-dev3",
            "v3.1.28",
            "v3.1.28-dev3",
            "v3.1.28-dev2",
            "v3.1.27",
            "v3.1.27-dev4",
            "v3.1.27-dev2",
            "v3.1.27-dev1",
            "v3.1.26",
            "v3.1.26-dev3",
            "v3.1.26-dev2",
            "v3.1.26-dev1",
            "v3.1.25",
            "v3.1.25-dev6",
            "v3.1.25-dev4",
            "v3.1.25-dev3",
            "v3.1.24",
            "v3.1.23",
            "v3.1.22",
            "v3.1.22-dev2",
            "v3.1.22-dev1",
            "v3.1.21",
            "v3.1.21-dev4",
            "v3.1.21-dev3",
            "v3.1.21-dev1",
            "v3.1.20",
            "v3.1.20-dev4",
            "v3.1.20-dev3",
            "v3.1.19",
            "v3.1.19-dev3",
            "v3.1.18",
            "v3.1.17",
            "v3.1.16",
            "v3.1.15",
            "v3.1.15-dev3",
            "v3.1.15-dev1",
            "v3.1.14",
            "v3.1.14-dev2",
            "v3.1.13",
            "v3.1.12",
            "v3.1.12-dev4",
            "v3.1.12-dev3",
            "v3.1.12-dev2",
            "v3.1.11",
            "v3.1.11-dev9",
            "v3.1.11-dev5",
            "v3.1.11-dev2",
            "v3.1.10",
            "v3.1.10-dev6",
            "v3.1.10-dev1",
            "v3.1.9",
            "v3.1.9-dev10",
            "v3.1.9-dev9",
            "v3.1.9-dev7",
            "v3.1.9-dev6",
            "v3.1.9-dev4",
            "v3.1.9-dev3",
            "v3.1.9-dev2",
            "v3.1.9-dev1",
            "v3.1.8",
            "v3.1.8-dev3",
            "v3.1.8-dev2",
            "v3.1.7",
            "v3.1.7-dev8",
            "v3.1.7-dev7",
            "v3.1.7-dev5",
            "v3.1.7-dev4",
            "v3.1.7-dev3",
            "v3.1.6",
            "v3.1.6-dev2",
            "v3.1.6-dev1",
            "v3.1.5",
            "v3.1.4",
            "v3.1.4-dev5",
            "v3.1.4-dev3",
            "v3.1.4-dev2",
            "v3.1.3",
            "v3.1.3-dev2",
            "v3.1.3-dev1",
            "v3.1.2",
            "v3.1.2-dev4",
            "v3.1.2-dev3",
            "v3.1.2-dev2",
            "v3.1.1-dev2",
            "v3.1.1-dev1",
            "v3.1.0",
            "v3.1.0-dev12",
            "v3.1.0-dev11",
            "v3.1.0-dev10",
            "v3.1.0-dev9",
            "v3.1.0-dev8",
            "v3.1.0-dev3",
            "v3.1.0-dev2",
            "v3.0.17",
            "v3.0.17-dev2",
            "v3.0.17-dev1",
            "v3.0.16",
            "v3.0.16-dev3",
            "v3.0.15",
            "v3.0.15-dev2",
            "v3.0.15-dev1",
            "v3.0.14",
            "v3.0.13-dev4",
            "v3.0.13-dev3",
            "v3.0.12",
            "v3.0.12-dev5",
            "v3.0.12-dev4",
            "v3.0.12-dev1",
            "v3.0.11",
            "v3.0.10",
            "v3.0.10-dev3",
            "v3.0.10-dev1",
            "v3.0.9",
            "v3.0.8",
            "v3.0.8-dev2",
            "v3.0.8-dev1",
            "v3.0.7",
            "v3.0.7-dev1",
            "v3.0.6",
            "v3.0.6-dev3",
            "v3.0.6-dev2",
            "v3.0.5",
            "v3.0.5-dev5",
            "v3.0.5-dev4",
            "v3.0.5-dev3",
            "v3.0.4",
            "v3.0.4-dev2",
            "v3.0.3",
            "v3.0.3-dev5",
            "v3.0.3-dev4",
            "v3.0.2",
            "v3.0.2-dev2",
            "v3.0.1",
            "v3.0.1-dev2",
            "v3.0.0",
            "v3.0.0-dev2",
            "v3.0.0-dev1",
            "v2.12.8",
            "v2.12.8-dev2",
            "v2.12.7",
            "v2.12.7-dev2",
            "v2.12.7-dev1",
            "v2.12.6",
            "v2.12.5",
            "v2.12.4",
            "v2.12.4-dev2",
            "v2.12.3",
            "v2.12.3-dev2",
            "v2.12.2",
            "v2.12.1",
            "v2.12.1-dev3",
            "v2.12.0",
            "v2.12.0-dev1",
            "v2.11.4",
            "v2.11.4-dev6",
            "v2.11.4-dev5",
            "v2.11.4-dev4",
            "v2.11.4-dev2",
            "v2.11.3",
            "v2.11.3-dev2",
            "v2.11.3-dev1",
            "v2.11.2",
            "v2.11.2-dev5",
            "v2.11.2-dev4",
            "v2.11.2-dev3",
            "v2.11.2-dev2",
            "v2.11.2-dev1",
            "v2.11.1",
            "v2.11.1-dev1",
            "v2.11.0",
            "v2.11.0-dev2",
            "v2.10.16",
            "v2.10.16-dev2",
            "v2.10.15",
            "v2.10.15-dev1",
            "v2.10.14",
            "v2.10.14-dev2",
            "v2.10.14-dev1",
            "v2.10.13",
            "v2.10.13-dev5",
            "v2.10.13-dev1",
            "v2.10.12",
            "v2.10.12-dev1",
            "v2.10.11",
            "v2.10.11-dev2",
            "v2.10.10",
            "v2.10.9",
            "v2.10.9-dev3",
            "v2.10.8",
            "v2.10.8-dev3",
            "v2.10.8-dev2",
            "v2.10.8-dev1",
            "v2.10.6",
            "v2.10.6-dev4",
            "v2.10.6-dev3",
            "v2.10.6-dev2",
            "v2.10.6-dev1",
            "v2.10.5",
            "v2.10.5-dev2",
            "v2.10.5-dev1",
            "v2.10.4",
            "v2.10.4-dev1",
            "v2.10.3",
            "v2.10.3-dev3",
            "v2.10.3-dev2",
            "v2.10.3-dev1",
            "v2.10.2",
            "v2.10.1",
            "v2.10.1-dev1",
            "v2.10.0",
            "v2.9.9",
            "v2.9.9-dev1",
            "v2.9.8",
            "v2.9.8-dev2",
            "v2.9.8-dev1",
            "v2.9.7",
            "v2.9.7-dev3",
            "v2.9.7-dev2",
            "v2.9.6",
            "v2.9.6-dev1",
            "v2.9.5",
            "v2.9.5-dev2",
            "v2.9.4",
            "v2.9.4-dev2",
            "v2.9.3",
            "v2.9.3-dev3",
            "v2.9.3-dev1",
            "v2.9.2",
            "v2.9.2-dev3",
            "v2.9.2-dev2",
            "v2.9.1",
            "v2.9.1-dev2",
            "v2.9.1-dev1",
            "v2.9.0",
            "v2.9.0-dev1",
            "v2.8.10",
            "v2.8.9",
            "v2.8.9-dev3",
            "v2.8.9-dev2",
            "v2.8.8",
            "v2.8.8-dev3",
            "v2.8.8-dev1",
            "v2.8.7",
            "v2.8.7-dev5",
            "v2.8.7-dev3",
            "v2.8.7-dev2",
            "v2.8.6",
            "v2.8.6-dev4",
            "v2.8.6-dev2",
            "v2.8.6-dev1",
            "v2.8.5",
            "v2.8.5-dev3",
            "v2.8.5-dev2",
            "v2.8.5-dev1",
            "v2.8.4",
            "v2.8.4-dev2",
            "v2.8.3",
            "v2.8.3-dev1",
            "v2.8.1-dev3",
            "v2.8.1-dev2",
            "v2.8.1-dev1",
            "v2.8.0",
            "v2.8.0-dev1",
            "v2.7.10",
            "v2.7.9-dev2",
            "v2.7.9-dev1",
            "v2.7.9",
            "v2.7.8",
            "v2.7.8-dev1",
            "v2.7.7",
            "v2.7.7-dev4",
            "v2.7.7-dev3",
            "v2.7.7-dev2",
            "v2.7.7-dev1",
            "v2.7.6",
            "v2.7.6-dev4",
            "v2.7.6-dev3",
            "v2.7.5",
            "v2.7.5-dev2",
            "v2.7.4",
            "v2.7.4-dev1",
            "v2.7.3",
            "v2.7.3-dev4",
            "v2.7.3-dev3",
            "v2.7.2",
            "v2.7.2-dev3",
            "v2.7.2-dev2",
            "v2.7.2-dev1",
            "v2.7.1",
            "v2.7.1-dev5",
            "v2.7.1-dev1",
            "v2.7.0",
            "v2.6.3",
            "v2.6.3-dev6",
            "v2.6.3-dev4",
            "v2.6.3-dev3",
            "v2.6.3-dev2",
            "v2.6.3-dev1",
            "v2.6.2",
            "v2.6.1",
            "v2.6.1-dev7",
            "v2.6.1-dev6",
            "v2.6.1-dev5",
            "v2.6.1-dev4",
            "v2.6.1-dev3",
            "v2.6.0",
            "v2.6.0-dev3",
            "v2.6.0-dev2",
            "v2.6.0-dev1",
            "v2.5.5",
            "v2.5.5-dev1",
            "v2.5.4",
            "v2.5.4-dev1",
            "v2.5.3",
            "v2.5.3-dev2",
            "v2.5.2",
            "v2.5.2-dev2",
            "v2.5.1",
            "v2.5.1-dev2",
            "v2.5.1-dev1",
            "v2.5.0",
            "v2.5.0-dev2",
            "v2.5.0-dev1",
            "v2.4.12",
            "v2.4.12-dev2",
            "v2.4.11",
            "v2.4.10",
            "v2.4.9",
            "v2.4.8",
            "v2.4.7",
            "v2.4.6",
            "v2.4.5",
            "v2.4.4",
            "v2.4.3",
            "v2.4.2",
            "v2.4.1",
            "v2.4.0",
            "v2.3.3",
            "v2.3.2",
            "v2.3.1",
            "v2.3.0",
            "v2.2.3",
            "v2.2.2",
            "v2.2.1",
            "v2.2.0",
            "v2.1.14",
            "v2.1.13",
            "v2.1.12"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-44586.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:48.775059292Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/44xxx/CVE-2026-44586.json",
        "https://github.com/siyuan-note/siyuan/security/advisories/GHSA-x6wf-w2rg-2gw9",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-44586"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-79",
          "CWE-94"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/44xxx/CVE-2026-44586.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-44586",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 517004,
  "published_at": "2026-05-14T18:11:49.53+00:00"
}