Vulnerabilidades de Siyuan-note
CVEs publicadas que afetam produtos de Siyuan-note: 207 registro(s), com severidade, exploração e correções.
CVE-2026-69085
Crítica · 10.0
CWE-89 03/08/2026
SiYuan before v3.7.3 SQL Injection via searchDocs
SiYuan before v3.7.3 contains a SQL injection vulnerability in the /api/filetree/searchDocs endpoint, where the caller-supplied keyword parameter is concatenated directly into SQL statements with no escaping or parameter binding. The endpoint is reachable by a publish RoleReader token, or unauthenticated when publish mode is enabled with Publish.Auth.Enable set to false. Because the statement executes on a read-write SQLite handle via a driver that supports stacked (semicolon-separated) statements, an attacker can read and modify database content across all cleartext (non-encrypted) notebooks on the instance.
CVE-2026-69084
Crítica · 10.0
CWE-89 03/08/2026
SiYuan before v3.7.3 SQL Injection via searchEmbedBlock
SiYuan versions <= v3.7.2 expose the /api/search/searchEmbedBlock endpoint, which passes a client-supplied SQL statement verbatim to the main read-write siyuan.db handle with no single-statement, read-only, or admin restrictions. The endpoint is gated only by CheckAuth, making it reachable by the publish RoleReader token and by anonymous users when publish authentication is disabled. Because the underlying driver executes stacked statements, an attacker can read and modify content across all opened cleartext notebooks (encrypted per-box notebooks are excluded). Fixed in v3.7.3.
CVE-2026-69083
Crítica · 10.0
CWE-89 03/08/2026
SiYuan before v3.7.3 SQL Injection via fullTextSearchAssetContent
SiYuan versions before v3.7.3 contain SQL injection vulnerabilities in the fullTextSearchAssetContent endpoint reachable by unauthenticated users and publish RoleReader tokens. Attackers can execute arbitrary SQL on the read-write asset-content database via unescaped method parameters and REGEXP clauses to read, modify, or delete cross-notebook data.
CVE-2026-68587
Alta · 8.6
CWE-862 03/08/2026
SiYuan before v3.7.3 Information Disclosure via getHeading*Transaction
SiYuan versions before v3.7.3 contain an information disclosure vulnerability in the getHeadingDeleteTransaction, getHeadingLevelTransaction, and getHeadingInsertTransaction endpoints that return rendered block DOM without publish-access checks. Anonymous readers or publish RoleReader tokens can supply a heading block ID to read full rendered content of publish-disabled documents that should be restricted.
CVE-2026-68586
Alta · 8.6
CWE-862 03/08/2026
SiYuan before v3.7.3 Content Disclosure via getBacklinkDoc
SiYuan before v3.7.3 fails to apply publish-access filters to the getBacklinkDoc and getBackmentionDoc content endpoints (/api/ref/getBacklinkDoc and /api/ref/getBackmentionDoc). While the corresponding backlink list endpoints filter publish-forbidden documents, the content endpoints (gated only by CheckAuth) do not. A publish-mode reader — including an anonymous reader when publish Basic Auth is disabled — can call these endpoints directly with a publish-forbidden document's ID to retrieve its rendered DOM content and to determine whether the document references a given block (a reference-existence oracle).
CVE-2026-68585
Média · 5.8
CWE-862 03/08/2026
SiYuan before v3.7.3 Metadata Disclosure via getBlockInfo
SiYuan versions before v3.7.3 contain a metadata disclosure vulnerability in the /api/block/getBlockInfo endpoint that returns document root metadata including title for publish-forbidden documents without publish-access checks. Anonymous readers or publish RoleReader tokens can supply a block ID to retrieve the title, notebook, path, root ID, and icon of documents administrators marked as excluded from publishing.
CVE-2026-68584
Alta · 8.6
CWE-288 03/08/2026
SiYuan before v3.7.3 Authentication Bypass via Content Endpoints
SiYuan versions before v3.7.3 contain an authentication bypass vulnerability in publish mode where content-returning endpoints getHeadingChildrenDOM, getHeading*Transaction, and getBacklinkDoc perform no password check despite protecting the primary getDoc endpoint. Anonymous attackers can retrieve full content of password-protected documents by obtaining internal block IDs from reader-accessible endpoints and calling unprotected content endpoints to bypass the password gate.
CVE-2026-66396
Alta · 8.4
CWE-79 27/07/2026
SiYuan before v3.7.2 Stored XSS to RCE via title-img IAL
SiYuan before v3.7.2 fails to escape the title-img Individual Attribute List value when rendering Gallery and Kanban cover images, allowing stored cross-site scripting via unescaped style attribute interpolation. Attackers with editor permissions can inject onload handlers that execute arbitrary code in the Electron renderer with full Node.js access when victims open affected documents.
CVE-2026-66395
Crítica · 9.6
CWE-79 27/07/2026
SiYuan Desktop before v3.7.2 Reflected XSS to RCE via siyuan Protocol
SiYuan desktop before v3.7.2 contains a reflected cross-site scripting vulnerability in the bazaar plugin readme handler that allows attackers to execute arbitrary code by crafting a malicious siyuan:// deep link. Attackers can inject HTML payloads via the plugin name parameter that execute with full Node.js access through insertAdjacentHTML rendering in an insecurely configured Electron renderer.
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-66012
Crítica · 10.0
CWE-862 25/07/2026
SiYuan before v3.7.2 Unauthenticated Administrator Takeover via MCP
SiYuan before v3.7.2 contains a missing authorization vulnerability in the POST /mcp kernel endpoint, which is gated only by a general auth check (model.CheckAuth) with no admin-role or read-only enforcement. This exposes 31 MCP tools, including a file tool with list/read/write/delete/rename/copy actions across the entire workspace. When the Publish server is enabled in anonymous mode (Conf.Publish.Enable=true and Conf.Publish.Auth.Enable=false), the Publish reverse proxy attaches an anonymous RoleReader JWT to proxied requests, allowing a remote unauthenticated attacker to reach /mcp. The attacker can read conf/conf.json to extract accessAuthCode, api.token, and cookieKey in plaintext, write arbitrary files in the workspace, and plant a plugin into data/plugins/ that executes with nodeIntegration:true and no contextIsolation on the next desktop launch, leading to administrator takeover.
CVE-2026-65606
Crítica · 9.6
CWE-79 23/07/2026
SiYuan before v3.7.2 Cross-Site Scripting to RCE
SiYuan before v3.7.2 contains a cross-site scripting vulnerability in the siyuan:// protocol handler. When a siyuan://plugins/<name> link references a name that is not an installed plugin, the application opens a custom tab and inserts the link's icon parameter into the tab header via innerHTML without escaping it (app/src/layout/Tab.ts), allowing injection of an <img onerror=...> element. Because the SiYuan Desktop renderer runs with nodeIntegration:true, the injected JavaScript can access Node's require and call require('child_process').execSync(...), escalating the cross-site scripting into arbitrary operating-system command execution.
CVE-2026-65605
Crítica · 9.6
CWE-79 23/07/2026
SiYuan before v3.7.2 Stored XSS to RCE via Attribute View
SiYuan before v3.7.2 contains a stored cross-site scripting vulnerability in Attribute View (database) cell rendering. A Template column value is rendered as HTML via text/template without auto-escaping, and EscapeHTML is only applied when HasUnclosedHtmlTag returns true; because balanced self-closing tags such as <img> are skipped by that check, a payload like <img src=x onerror=...> is stored unescaped and later inserted into the page via innerHTML, executing when the database is viewed. Because the desktop renderer runs with nodeIntegration enabled, the injected script can reach require and escalate to arbitrary command execution.
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-59855
Alta · 8.6
CWE-80 09/07/2026
SiYuan: Store XSS To Rce via Asset.render
SiYuan is an open-source personal knowledge management system. Prior to 3.7.1, Asset.render in app/src/asset/index.ts interpolates the unsanitized this.path value into HTML assigned to innerHTML, allowing a crafted asset link containing a double quote to break out of the src attribute, inject an event handler, and execute JavaScript that can run OS commands in the Electron renderer. This issue is fixed in versions 3.7.1-alpha.2 and 3.7.1.
CVE-2026-59854
Média · 4.9
CWE-693 09/07/2026
SiYuan: Incomplete IsSensitivePath denylist: globalCopyFiles reads home-dir credential dotfiles into the workspace
SiYuan is an open-source personal knowledge management system. Prior to 3.7.1, POST /api/file/globalCopyFiles accepts attacker-supplied absolute source paths and relies on util.IsSensitivePath in kernel/util/path.go, whose denylist misses common home-directory credential files such as .git-credentials, .netrc, .pgpass, .kube/config, .docker/config.json, and .gnupg, allowing an authenticated administrator or API-token user to copy those files into the workspace and exfiltrate them through the file API. This issue is fixed in versions 3.7.1-alpha.2 and 3.7.1.
CVE-2026-59853
Média · 6.5
CWE-862 09/07/2026
SiYuan: Publish-mode Reader can exfiltrate private saved-search Criteria via /api/storage/getCriteria (missing publish-access filter)
SiYuan is an open-source personal knowledge management system. Prior to 3.7.1, the /api/storage/getCriteria endpoint returns saved search criteria from data/storage/criteria.json without the publish-access filtering used by sibling storage endpoints, allowing a publish-mode Reader to read private document paths, notebook, document, and block IDs, and search and replace keywords for unpublished documents. This issue is fixed in versions 3.7.1.
CVE-2026-59834
Alta · 7.5
CWE-89 09/07/2026
SiYuan: SQL Query in Block Search Exposes Hidden Published Document Content
SiYuan is an open-source personal knowledge management system. Prior to 3.7.1, the block search endpoint POST /api/search/fullTextSearchBlock concatenates attacker-controlled paths values into SQL predicates used by non-SQL search modes, allowing an unauthenticated publish visitor to inject a UNION SELECT and return rows from hidden documents by projecting an allowed visible box and path. This issue is fixed in versions 3.7.1.
CVE-2026-59833
Alta · 8.6
CWE-79 09/07/2026
SiYuan: Stored XSS to RCE in SiYuan via a per-attribute URL-scheme sanitizer gap in Lute (form action / SVG xlink:href)
SiYuan is an open-source personal knowledge management system. Prior to 3.7.1, SiYuan renders note and package content to HTML through the Lute engine with sanitization enabled, but Lute's dangerous javascript scheme block does not check form action or SVG xlink:href attributes, allowing stored cross-site scripting in document export-preview and Bazaar package README render paths that can execute OS commands in the Electron desktop renderer. This issue is fixed in versions 3.7.1.
CVE-2026-59832
Alta · 7.7
CWE-22 09/07/2026
SiYuan: Authenticated path traversal in /snippets/ static handler (serveSnippets) leaks conf/conf.json secrets and siyuan.db
SiYuan is an open-source personal knowledge management system. Prior to 3.7.1, the /snippets/*filepath route handler serveSnippets in kernel/server/serve.go joins a single-decoded request path with the snippets directory without subpath containment or sensitive-path checks, allowing an authenticated request such as /snippets/%2e%2e/%2e%2e/conf/conf.json to read workspace secrets and the document database. This issue is fixed in versions 3.7.1.
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.