CVE-2026-54158: SiYuan Stored XSS to RCE in attribute-view cell renderer

CVE-2026-54158 · Severity: critical · CVSS 9.9 · Published 2026-06-24

SiYuan, a personal knowledge management system, is vulnerable to a security flaw where malicious data in a database cell can execute unauthorized commands on a user's computer. If an attacker can modify a shared or synced workspace, they can plant a 'booby-trap' that triggers when a victim simply views the affected data. On desktop versions, this can lead to a full takeover of the user's computer, potentially resulting in data theft or malware installation.

Technologies: github.com/siyuan-note/siyuan/kernel (Go), SiYuan. Vendors: Go, SiYuan.

Quick answers

Is CVE-2026-54158 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-54158 being exploited in the wild.
How severe is CVE-2026-54158?
Critical severity, with a CVSS score of 9.9, published 24 June 2026.
Which products and versions are affected?
github.com/siyuan-note/siyuan/kernel (Go) < 0.0.0-20260628153353-2d5d72223df4, SEMVER:introduced=0,fixed=0.0.0-20260628153353-2d5d72223df4; SiYuan < 3.6.6, < 3.7.0.
Is there a fix for CVE-2026-54158?
Yes. github.com/siyuan-note/siyuan/kernel (Go): upgrade to 0.0.0-20260628153353-2d5d72223df4 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-54158 attacked?
It is attacked over the network, in a network appliance.
Am I affected by CVE-2026-54158?
Check whether you run github.com/siyuan-note/siyuan/kernel (Go) or SiYuan at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • github.com/siyuan-note/siyuan/kernel (Go): upgrade to 0.0.0-20260628153353-2d5d72223df4 or later
    go get github.com/siyuan-note/siyuan/kernel@v0.0.0-20260628153353-2d5d72223df4

Technical details

A stored XSS vulnerability exists in the `genAVValueHTML` function within `app/src/protyle/render/av/blockAttr.ts`. The renderer fails to sanitize cell content for `text`, `url`, `phone`, and `mAsset` types before interpolating them into the DOM via `innerHTML`. An attacker with write access to a synced workspace can inject malicious JavaScript. On Electron-based desktop builds, because `nodeIntegration` is enabled and `contextIsolation` is disabled, this XSS can be leveraged to achieve Remote Code Execution (RCE) by calling Node.js primitives like `require('child_process')`. The vulnerability is triggered when a user opens the block-attribute panel containing the malicious cell.

Affected products

  • siyuan-note SiYuan < 3.6.6

Identifiers

  • CVE-2026-54158
  • GHSA-5xfx-xj4h-5p7r
  • GO-2026-5957

Timeline

  • 2026-04-21: disclosed: Vulnerability identified in version 3.6.5
  • 2026-06-03: advisory: GitHub Advisory published
  • 2026-06-28: patched: Fixed in commit 2d5d72223df4

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.