SiYuan: Bazaar marketplace renders unescaped package author metadata, allowing XSS and Electron code execution
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 sourcePublished 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"
}