CVE-2026-25647 in SiYuaninfo

Summary

by MITRE • 02/06/2026

Lute is a structured Markdown engine supporting Go and JavaScript. Lute 1.7.6 and earlier (as used in SiYuan before) has a Stored Cross-Site Scripting (XSS) vulnerability in the Markdown rendering engine. An attacker can inject malicious JavaScript into a Markdown text/note. When another user clicks the rendered content, the script executes in the context of their session.

Be aware that VulDB is the high quality source for vulnerability data.

Analysis

by VulDB Data Team • 02/26/2026

The vulnerability identified as CVE-2026-25647 affects Lute, a structured Markdown engine that supports both Go and JavaScript implementations. This particular flaw exists in versions 1.7.6 and earlier, which were utilized in the SiYuan note-taking application. The vulnerability manifests as a stored cross-site scripting issue within the Markdown rendering engine, representing a critical security weakness that can be exploited by malicious actors to compromise user sessions. The flaw specifically allows attackers to inject malicious JavaScript code directly into Markdown text or notes, which then executes when other users view the rendered content. This type of vulnerability falls under CWE-79, which categorizes cross-site scripting flaws as weaknesses in web applications that allow attackers to inject client-side scripts into web pages viewed by other users. The impact is particularly severe because the attack vector involves stored data rather than reflected or DOM-based XSS, meaning the malicious payload persists in the application's database or storage system.

The technical mechanism behind this vulnerability involves the Markdown rendering engine's insufficient sanitization of user input before displaying content to end users. When SiYuan processes Markdown notes containing potentially malicious scripts, the rendering engine fails to properly escape or filter special characters that could be interpreted as executable JavaScript code. This occurs during the transformation of Markdown syntax into HTML output, where attackers can inject script tags or other malicious payloads that remain dormant until the content is rendered for viewing. The stored nature of this vulnerability means that once the malicious code is injected into the system, it will execute every time any user views the affected note, creating a persistent threat vector that can affect multiple users over time. The vulnerability is particularly concerning because Markdown is designed to be a lightweight markup language that should not inherently support complex scripting capabilities, yet the rendering engine fails to properly isolate user content from executable code.

The operational impact of CVE-2026-25647 extends beyond simple script execution, as it provides attackers with the ability to perform session hijacking, data exfiltration, and other malicious activities within the context of affected users' sessions. When an attacker successfully injects JavaScript into a note, they can potentially access cookies, local storage, and other session-related data that would normally be protected by the browser's same-origin policy. This could enable attackers to steal authentication tokens, access sensitive information, or even take control of user accounts within the SiYuan application. The vulnerability is particularly dangerous in collaborative environments where multiple users share notes and documents, as a single compromised note could affect an entire user community. The attack requires minimal sophistication from the malicious actor, who only needs to create a note with embedded JavaScript and share it with other users, making this a scalable threat vector. The vulnerability also aligns with ATT&CK technique T1566.001, which describes the use of malicious files or documents to establish initial access through social engineering or direct exploitation.

Mitigation strategies for this vulnerability should focus on immediate remediation through version updates to Lute 1.7.7 or later, which presumably contain fixes for the XSS vulnerability. Organizations using SiYuan should implement comprehensive input sanitization measures that validate and filter all user-generated content before storage, ensuring that any potentially dangerous characters or script tags are properly escaped or removed. The application should enforce strict content security policies that prevent the execution of inline scripts and restrict the use of dangerous HTML elements within rendered Markdown content. Additionally, administrators should consider implementing web application firewalls that can detect and block suspicious patterns in user input, and establish regular security audits of stored content to identify and remove any malicious payloads. The fix should include proper HTML escaping of user input during the Markdown rendering process, ensuring that any JavaScript code is treated as literal text rather than executable instructions. Organizations should also implement user education programs to raise awareness about the risks of viewing untrusted content and the importance of verifying the source of shared notes and documents. Given the nature of the vulnerability, it is essential that all affected systems undergo thorough security assessments to identify any potential compromise from previous exploitation attempts.

Responsible

GitHub M

Reservation

02/04/2026

Disclosure

02/06/2026

Moderation

accepted

CPE

ready

EPSS

0.00014

KEV

no

Activities

very low

Sources

Want to know what is going to be exploited?

We predict KEV entries!