Vulnerabilidades de Siyuan-note
CVEs publicadas que afetam produtos de Siyuan-note: 80 registro(s), com severidade, exploração e correções.
CVE-2026-109310
Média · 6.5
CWE-770 12/10/2026
SiYuan v3.1.12 before v3.8.6 Denial of Service via getDynamicIcon Template
SiYuan v3.1.12 before v3.8.6 fails to restrict the Sprig template function map in the /api/icon/getDynamicIcon content parameter, allowing resource exhaustion. A publish reader, or anyone when publish auth is disabled, can use uncapped functions like until to OOM-kill the kernel with one request.
CVE-2026-109309
Média · 6.5
CWE-22 12/10/2026
SiYuan v3.7.0 before v3.8.6 Arbitrary File Read via Plugin ResponseFile.Path
SiYuan v3.7.0 before v3.8.6 contains an absolute path traversal vulnerability in the kernel's private plugin HTTP server, which passes a kernel plugin handler's ResponseFile.Path to gin's Context.File without validation. Attackers supplying a malicious kernel plugin can return an absolute path to read any file readable by the SiYuan process, including the API token and conf.json.
CVE-2026-100645
Alta · 8.0
CWE-79 26/09/2026
SiYuan 3.7.0 before 3.8.4 Stored XSS via Gallery Kanban
SiYuan versions 3.7.0 before 3.8.4 contain a stored cross-site scripting vulnerability in gallery and kanban database renderers where field descriptions are not escaped in aria-label attributes. In the Electron desktop app with nodeIntegration enabled, attackers can inject JavaScript that calls Node.js child_process APIs to execute arbitrary commands with user privileges.
CVE-2026-100644
Alta · 7.5
CWE-89 26/09/2026
SiYuan before v3.8.4 SQL Injection via dailyNoteSavePath
SiYuan before v3.8.4 contains a SQL injection vulnerability in the graph query endpoint where the dailyNoteSavePath parameter is concatenated into SQL without escaping. Unauthenticated attackers on published sites with auth disabled can inject SQL via UNION SELECT to extract arbitrary database rows from all notebooks.
CVE-2026-100640
Média · 4.7
CWE-200 26/09/2026
SiYuan before v3.8.4 Clipboard Data Disclosure via IPC
SiYuan before v3.8.4 contains an authorization omission in the siyuan-get IPC handler that allows remote-kernel renderers to access native clipboard formats by invoking clipboardReadMathML, clipboardReadOffice, and clipboardReadWPS commands with matching plaintext. Attackers controlling remote renderer content can obtain MathML formulas, Office bytes, and WPS bytes from local clipboard during user-mediated paste operations.
CVE-2026-100635
Média · 5.9
CWE-319 26/09/2026
SiYuan before v3.8.4 Authentication Bypass via Plaintext Session Cookie
SiYuan before v3.8.4 contains an authentication bypass vulnerability in the publish service where session cookies are issued without Secure or SameSite attributes over plaintext HTTP connections. An on-path attacker can observe a valid publish-visitor-session-id cookie from a Basic Auth exchange and replay it to access authenticated publish endpoints without knowing the account password.
CVE-2026-100634
Média · 4.7
CWE-862 26/09/2026
SiYuan before v3.8.4 Missing Authorization via siyuan-send-windows
SiYuan before v3.8.4 does not validate the sender or restrict recipients in the 'siyuan-send-windows' IPC handler of the Electron main process (app/electron/main.js). The handler ignores event.sender and forwards any received payload to every BrowserWindow returned by BrowserWindow.getAllWindows(), including windows belonging to other opened workspaces. A renderer connected to an attacker-controlled remote kernel can therefore send {cmd: "lockscreenByMode"} and have it delivered across the workspace boundary; a sibling workspace window whose lockScreenMode is set to 1 invokes lockScreen(). Repeated messages allow the remote workspace to repeatedly lock unrelated local workspace windows, causing a limited denial of service. No confidentiality, integrity, or code-execution impact was observed.
CVE-2026-87807
Alta · 7.5
CWE-89 09/09/2026
siyuan before v3.8.2 SQL Injection via fullTextSearchBlock
siyuan versions before v3.8.2 contain an authenticated SQL injection vulnerability in the fullTextSearchBlock endpoint's method=1 query parameter. Attackers can inject UNION SELECT statements to read the entire blocks table, bypassing publish-access controls and exposing all document content and sensitive attributes.
CVE-2026-85578
Média · 6.5
CWE-862 04/09/2026
SiYuan through 3.8.1 Authorization Bypass via getFile
SiYuan through 3.8.1 contains an authorization bypass vulnerability in the /api/file/getFile endpoint that allows readers to retrieve files from notebooks explicitly configured as Visible:false. Attackers with reader role can access private workspace files including notebook metadata and internal configuration by knowing the hidden notebook identifier and file path.
CVE-2026-62204
Média · 6.6
CWE-345 22/08/2026
SiYuan before v3.7.4 Plugin Overwrite via Bazaar Install
SiYuan versions before v3.7.4 fail to validate that packageName matches the downloaded package content in bazaar install endpoints. Attackers with same-origin access can overwrite existing trusted plugins by supplying mismatched packageName and repoURL parameters, achieving persistence across application restarts.
CVE-2026-60084
Alta · 8.7
CWE-22 22/08/2026
SiYuan before v3.7.4 Arbitrary File Deletion via removeTemplate
SiYuan versions before v3.7.4 contain an arbitrary file deletion vulnerability in the /api/search/removeTemplate endpoint that accepts an unvalidated path parameter passed directly to os.RemoveAll. Authenticated admin attackers can supply absolute filesystem paths to recursively delete any file or directory the kernel process has permission to remove, anywhere on the host filesystem.
CVE-2026-60083
Média · 4.9
CWE-863 22/08/2026
SiYuan before v3.8.0 Incomplete Path Blocklist via MCP file tool
SiYuan versions before v3.8.0 contain an incomplete path blocklist in the MCP file tool that fails to restrict access to sensitive workspace files protected by the HTTP API. Authenticated administrators can read plaintext publish-mode passwords from data/.siyuan/publishAccess.json and access other sensitive files like data/templates and data/snippets/conf.json.
CVE-2026-59809
Média · 4.9
CWE-201 22/08/2026
SiYuan before v3.8.0 Secret Exfiltration via http_request URL
SiYuan before v3.8.0 interpolates secret placeholders into the destination URL parameter of the http_request MCP tool, allowing attackers to exfiltrate stored secrets. An MCP client can craft a request with an attacker-controlled URL containing secret placeholders to send plaintext secret values to any public host without confirmation.
CVE-2026-75917
Alta · 8.6
CWE-79 19/08/2026
SiYuan before v3.7.4 XSS-to-RCE via pathName.ts
SiYuan before v3.7.4 contains a cross-site scripting vulnerability in the file-tree picker's hover-tooltip generation (app/src/util/pathName.ts, getLeaf()/movePathTo()) used by the 'move/link to' path-selection dialogs, where document metadata fields (bookmark, alias, memo, and an alternate name field) are concatenated into the aria-label HTML attribute without escaping. A document crafted with a double quote in any of these fields breaks out of the attribute context and injects arbitrary HTML attributes including inline event handlers (e.g., onmouseover). Because every SiYuan Electron BrowserWindow runs with nodeIntegration:true, contextIsolation:false, and no CSP, the injected handler gains require('child_process') access, escalating the XSS to arbitrary OS command execution when a victim merely hovers over the malicious document entry in the path-picker dialog. Malicious documents reach victims via sharing, sync, or import.
CVE-2026-75916
Alta · 8.6
CWE-79 19/08/2026
SiYuan XSS-to-RCE via unescaped block metadata in hint popup
SiYuan through 3.7.3 contains a cross-site scripting vulnerability in the '((' block-reference autocomplete hint popup. In genHintItemHTML() (app/src/protyle/hint/extend.ts), a candidate block's name, alias, and memo fields are concatenated into the popup's HTML without escaping. An attacker who can set these metadata fields on a block can inject a self-firing payload (e.g. <img src=x onerror=...>) that executes automatically when a victim types '((' followed by a search term that surfaces the crafted block. Because SiYuan's Electron windows run with nodeIntegration enabled, contextIsolation disabled, and no CSP, the injected script gains require('child_process') access, allowing the XSS to escalate to arbitrary OS command execution.
CVE-2026-74902
Alta · 8.6
CWE-79 18/08/2026
SiYuan before v3.7.4 XSS-to-RCE via malicious filename upload
SiYuan before v3.7.4 contains a cross-site scripting vulnerability in the file upload validation flow that fails to escape filenames before inserting them into HTML via insertAdjacentHTML. Attackers can craft a malicious filename containing script payloads that execute with full OS command access when a user drags, drops, or pastes the file into the editor.
CVE-2026-66394
Alta · 8.7
CWE-79 27/07/2026
SiYuan before v3.7.3 Stored and Reflected XSS via SVG Sanitizer Bypass
SiYuan before v3.7.3 contains stored and reflected cross-site scripting vulnerabilities in SVG sanitization that allows authenticated attackers to execute scripts by bypassing the HTML parser-based cleaner. Attackers can hide script tags within desc, style, or noscript elements which the HTML parser treats as raw text but browsers interpret as executable SVG content when served as image/svg+xml, enabling script execution in the application origin.
CVE-2026-65607
Média · 6.5
CWE-22 23/07/2026
SiYuan before v3.7.2 Path Traversal via /export/temp/
SiYuan before v3.7.2 contains a path traversal vulnerability in the /export/temp/ short-circuit branch of the serveExport handler (kernel/server/serve.go). Unlike the main export branch, this branch joins the raw, percent-decoded request path with util.TempDir and serves the file without the IsSubPath or IsSensitivePath checks added in the earlier export-disclosure hardening (GHSA-6865-qjcf-286f). An authenticated attacker can send percent-encoded traversal sequences (e.g. /export/temp/%2e%2e/.../etc/passwd, where %2e%2e is decoded to '..') to read arbitrary files outside TempDir, including /etc/passwd, SSH keys (~/.ssh/*), and SiYuan workspace *.db and *.log files, bypassing the sensitive-file protection.
CVE-2026-55570
Crítica · 9.0
CWE-79 24/06/2026
SiYuan: XSS em cards do marketplace com execução de comandos no cliente desktop
SiYuan é um sistema de gerenciamento pessoal de conhecimento de código aberto. Antes da versão 3.7.0, ele não escapa os campos não confiáveis (name, version, author, description) quando são serializados no atributo HTML data-obj de cada card do marketplace. Como o atributo é delimitado por aspas simples e o valor é produzido com JSON.stringify() (que não escapa ', <, ou >), um pacote cujo nome contém aspas simples escapa do atributo e injeta HTML arbitrário. No cliente desktop, a BrowserWindow principal executa com nodeIntegration: true, contextIsolation: false, de modo que o HTML injetado escala de XSS baseado em DOM para execução arbitrária de comandos no sistema operacional. Esta é a mesma causa raiz e o mesmo impacto do aviso original, alcançados por um sink irmão que o patch não cobriu. Esta vulnerabilidade está corrigida na versão 3.7.0.
CVE-2026-54759
Alta · 8.7
CWE-79 24/06/2026
SiYuan: Lute HTML sanitizer allows `<iframe>` tags in Bazaar package README, leading to arbitrary command execution via SiYuan Electron client
SiYuan is an open-source personal knowledge management system. Prior to 3.7.0, Lute's HTML sanitizer does not remove <iframe> elements. Combined with the SiYuan Electron client's permissive security configuration, an attacker can include a malicious <iframe> in a Bazaar package README that executes arbitrary commands on the victim's machine when the package details are viewed. No package installation is required. This vulnerability is fixed in 3.7.0.
CVE-2026-54158
Crítica · 9.9
CWE-79 24/06/2026
SiYuan: XSS armazenado no renderizador de células de visualização de atributos
O SiYuan é um sistema de gestão de conhecimento pessoal de código aberto. Antes da versão 3.7.0, o renderizador de células de atributo (banco de dados), a função genAVValueHTML, insere o conteúdo bruto das células em quatro ramos: texto, url, telefone e mAsset. Um valor de célula elaborado, com sequências que fecham a tag HTML circundante e inserem um atributo de evento, rompe o contexto e executa JavaScript arbitrário no renderizador quando a vítima abre o painel de atributos do bloco. No cliente desktop Electron, o renderizador roda com nodeIntegration:true, de modo que o XSS pode se encadear a RCE no host por meio do acesso ao módulo child_process do Node.js. Os arquivos AV ficam no workspace e são sincronizados normalmente, então um atacante com permissão de escrita em qualquer workspace sincronizado planta a carga uma vez e ela dispara em todo dispositivo que abrir um painel contendo essa linha. O kernel também não faz escape na entrada, então a célula maliciosa persiste byte a byte. Não há equivalente da chamada html.EscapeAttrVal que protege os atributos IAL de blocos em kernel/model/blockial.go:261. Esta vulnerabilidade está corrigida na versão 3.7.0.
CVE-2026-54070
Alta · 7.1
CWE-79 24/06/2026
SiYuan: Stored XSS in Bazaar marketplace via package README event handlers
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.
CVE-2026-54069
Crítica · 9.2
Exploit público CWE-346 24/06/2026
SiYuan Note: falha na validação de origem permite acesso administrativo por extensões do navegador
SiYuan é um sistema de gerenciamento de conhecimento pessoal de código aberto. Antes da versão 3.7.0, o servidor HTTP do kernel do SiYuan Note confia incondicionalmente em todas as origens chrome-extension://, concedendo acesso RoleAdministrator a todas as extensões instaladas no navegador, sem qualquer autenticação. Combinado com o AccessAuthCode padrão vazio nas instalações desktop, qualquer extensão do Chrome/Chromium — incluindo uma extensão legítima comprometida por meio de um ataque à cadeia de suprimentos — pode fazer chamadas administrativas totalmente autenticadas à API do kernel do SiYuan em 127.0.0.1:6806, possibilitando exfiltração de dados, injeção de XSS armazenado e adulteração de configurações. Esta vulnerabilidade está corrigida na versão 3.7.0.
CVE-2026-54068
Média · 5.9
CWE-306 24/06/2026
SiYuan: Unauthenticated SQLite Data Exfiltration via Template Injection in /api/icon/getDynamicIcon
SiYuan is an open-source personal knowledge management system. Prior to 3.7.0, the /api/icon/getDynamicIcon endpoint is explicitly excluded from authentication in SiYuan's kernel router (router.go, "不需要鉴权" -- no auth needed). When called with type=8 and a valid block id parameter, this endpoint invokes RenderDynamicIconContentTemplate, which executes a Go template that includes the querySQL and queryBlocks functions. These functions run arbitrary SELECT statements against the SiYuan SQLite database. An unauthenticated network-adjacent attacker who knows a valid block ID can exfiltrate all user note content, tags, asset references, and block attributes from the database. This vulnerability is fixed in 3.7.0.
CVE-2026-54067
Crítica · 9.9
CWE-79 24/06/2026
SiYuan: XSS em snippet CSS que leva a execução de código no renderer do Electron
SiYuan é um sistema de gerenciamento pessoal de conhecimento de código aberto. Antes da versão 3.7.0, o corpo de um snippet CSS contendo </style> sai da tag <style> que o envolve quando renderSnippet() o interpola via insertAdjacentHTML. Um payload como executa JavaScript arbitrário no renderer. Em builds desktop com Electron, o renderer roda com nodeIntegration:true, então require('child_process') fica acessível a partir do handler injetado, e o XSS encadeia para RCE no host. Os snippets são sincronizados pelo repositório do workspace, então um atacante com permissão de escrita em qualquer workspace sincronizado planta o payload uma vez e ele é disparado em todo dispositivo que puxar as alterações. O bug também contorna a separação enabledCSS / enabledJS do usuário. Um usuário que desativou enabledJS tomou a decisão deliberada de não executar JavaScript não confiável; o caminho do CSS executa mesmo assim. Esta vulnerabilidade está corrigida na versão 3.7.0.