Skip to main content
Press slash or control plus K to focus the search. Use the arrow keys to navigate results and press enter to open a threat.
Reconnecting to live updates…
EPSS 0.2%top 91%

CVE-2026-54070: CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in siyuan-note siyuan

0
High
VulnerabilityCVE-2026-54070cvecve-2026-54070cwe-79cwe-184
Published: 06/24/2026 (06/24/2026, 21:18:24 UTC)
Source: CVE Database V5
Vendor/Project: siyuan-note
Product: siyuan

Description

SiYuan is an open-source personal knowledge management system. Prior to 3.7.0, renderPackageREADME in kernel/bazaar/readme.go renders a Bazaar package README from Markdown to HTML with the lute engine and SetSanitize(true). The lute sanitizer is an event-handler blocklist: allowAttr rejects only attribute names present in a fixed eventAttrs map copied from the w3schools legacy handler list. That map omits modern event handlers. onpointerover, onpointerdown, onauxclick, onbeforetoggle, onfocusin, onanimationstart, and ontransitionend are not in the list, so the sanitizer passes them through verbatim on any tag. The frontend assigns the rendered HTML to mdElement.innerHTML in app/src/config/bazaar.ts with no client-side DOMPurify on this path, into a normal element in the main document (no iframe, no sandbox). The kernel sends no Content-Security-Policy, X-Frame-Options, or X-Content-Type-Options header on any response, so an inline handler runs when its event fires. The README is rendered when an Administrator opens a package in Settings → Marketplace, after the one-time marketplace trust consent. Install is not required. Result: a third-party Bazaar package author runs JavaScript in the Administrator's authenticated SiYuan origin when the Administrator views and interacts with the package listing, and gains full control of the workspace. This vulnerability is fixed in 3.7.0.

CVSS v3.1

Score 7.1high

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:L

Affected software

GitHub Actionsmore threats →ai
siyuan-note/siyuan
pkg:github/siyuan-note/siyuan
Affected versions
<3.7.0

Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.

AI-Powered Analysis

Machine-generated threat intelligence

AILast updated: 07/11/2026, 09:50:34 UTC

Technical Analysis

SiYuan, an open-source knowledge management system, prior to version 3.7.0, improperly neutralizes input during web page generation in the renderPackageREADME function. The sanitizer used (lute engine with SetSanitize(true)) relies on a legacy event-handler blocklist that omits modern event handlers such as onpointerover and onanimationstart. These attributes are passed through unfiltered and assigned to innerHTML in the frontend without additional client-side sanitization or protective headers like Content-Security-Policy. This allows a third-party Bazaar package author to execute arbitrary JavaScript in the Administrator's authenticated session when the package README is viewed, resulting in full control over the workspace. The vulnerability is resolved in version 3.7.0.

Potential Impact

An attacker controlling a third-party Bazaar package can execute arbitrary JavaScript in the context of an Administrator's authenticated session by exploiting the XSS vulnerability. This leads to full compromise of the SiYuan workspace, including potential data theft, manipulation, or further system compromise. The attack requires the Administrator to view and interact with the malicious package listing after granting marketplace trust consent.

Mitigation Recommendations

This vulnerability is fixed in SiYuan version 3.7.0. Users should upgrade to version 3.7.0 or later to remediate this issue. No additional vendor advisory or patch links are provided, but upgrading to the fixed version is the recommended action. There are no indications that the vendor provides temporary fixes or that the vulnerability is mitigated by other means.

Pro Console: star threats, build custom feeds, automate alerts via Slack, email & webhooks.Upgrade to Pro

Technical Details

Data Version
5.2
Assigner Short Name
GitHub_M
Date Reserved
2026-06-11T18:24:35.097Z
Cvss Version
3.1
State
PUBLISHED
Remediation Level
null

Threat ID: 6a3c501e4853345fc1e45c48

Added to database: 06/24/2026, 21:46:06 UTC

Last enriched: 07/11/2026, 09:50:34 UTC

Last updated: 08/09/2026, 00:41:15 UTC

Views: 53

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need more coverage?

Upgrade to Pro Console for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats

Breach by OffSeqOFFSEQFRIENDS — 25% OFF

Check if your credentials are on the dark web

Instant breach scanning across billions of leaked records. Free tier available.

Scan now
OffSeq TrainingCredly Certified

Lead Pen Test Professional

Technical5-day eLearningPECB Accredited
View courses