B3log
Don't miss out!
Thousands of developers use stack.watch to stay informed.Get an email whenever new security vulnerabilities are reported in any B3log product.
RSS Feeds for B3log security vulnerabilities
Create a CVE RSS feed including security vulnerabilities found in B3log products with stack.watch. Just hit watch, then grab your custom RSS feed url.
Products by B3log Sorted by Most Security Vulnerabilities since 2018
By the Year
In 2026 there have been 119 vulnerabilities in B3log with an average score of 8.1 out of ten. Last year, in 2025 B3log had 1 security vulnerability published. That is, 118 more vulnerabilities have already been reported in 2026 as compared to last year. Last year, the average CVE base score was greater by 1.03
| Year | Vulnerabilities | Average Score |
|---|---|---|
| 2026 | 119 | 8.07 |
| 2025 | 1 | 9.10 |
| 2024 | 11 | 7.77 |
| 2023 | 1 | 6.10 |
| 2022 | 3 | 5.40 |
| 2021 | 0 | 0.00 |
| 2020 | 0 | 0.00 |
| 2019 | 5 | 5.45 |
| 2018 | 2 | 4.80 |
It may take a day or so for new B3log vulnerabilities to show up in the stats or in the list of recent security vulnerabilities. Additionally vulnerabilities may be tagged under a different product or component name.
Recent B3log Security Vulnerabilities
| CVE | Date | Vulnerability | Products |
|---|---|---|---|
| CVE-2026-93923 | Sep 18, 2026 |
SiYuan <=3.8.4 XSS via unescaped heading style attributesSiYuan through 3.8.4 fails to escape heading style attributes when rendering outline and bookmark dock HTML, allowing stored cross-site scripting. Attackers can supply crafted notebooks or call administrative endpoints to inject malicious style values that execute in the Electron renderer with full system access. |
|
| CVE-2026-93922 | Sep 18, 2026 |
SiYuan 3.8.4 XSS via Daily Note Picker Unescaped Notebook Names in ElectronSiYuan through 3.8.4 renders notebook names as raw HTML in the Daily Note picker dialog without escaping, allowing stored cross-site scripting in the Electron renderer. Attackers can create notebooks with HTML payloads in names that execute JavaScript with Node.js access when the picker opens, enabling operating system command execution. |
|
| CVE-2026-93921 | Sep 18, 2026 |
SiYuan <=3.8.4 getDynamicIcon AC Bypass (ReadOnly Token)SiYuan versions through 3.8.4 fail to enforce publish access control in the getDynamicIcon endpoint, allowing read-only token holders to access document metadata. Attackers can call the endpoint with type=8 and crafted content to read block titles, names, aliases, and hierarchical paths of restricted documents via template injection. |
|
| CVE-2026-93591 | Sep 18, 2026 |
SQLi in SiYuan <3.8.3 via graph.go query2Stmt (tag injection)SiYuan versions before 3.8.3 contain an SQL injection vulnerability in the graph.go query2Stmt function where tag values are concatenated raw into SQL string literals without escaping single quotes. A publish-mode reader or anonymous visitor can inject SQL via inline HTML span tags in the getGraph endpoint to execute arbitrary queries on the read-write database and exfiltrate private data across notebooks. |
|
| CVE-2026-92986 | Sep 17, 2026 |
SiYuan <=3.8.4 XSS via backlink title rendering in ElectronSiYuan before 3.8.4 renders document titles as HTML in the backlink dock tree without escaping markup characters. Attackers can set malicious titles through the rename API or crafted notebooks to execute scripts in the Electron renderer with access to child_process for command execution. |
|
| CVE-2026-92985 | Sep 17, 2026 |
SiYuan <3.8.4 XSS via .sy Bookmark Labels (Exec)SiYuan versions before 3.8.4 fail to escape bookmark labels imported from notebook files when rendering them in the dock tree. Attackers can craft malicious .sy notebook files with unescaped HTML in bookmark attributes that execute scripts in the Electron renderer with access to child_process for command execution. |
|
| CVE-2026-87815 | Sep 09, 2026 |
SiYuan <v3.8.2: Authenticated Path Traversal via /api/riff/removeRiffDeckSiYuan versions before v3.8.2 contain a path traversal vulnerability in the /api/riff/removeRiffDeck endpoint that fails to validate the deckID parameter. An authenticated administrator can supply path traversal sequences to delete arbitrary .deck and .cards files outside the workspace directory. |
|
| CVE-2026-87814 | Sep 09, 2026 |
SiYuan <3.8.2 Stored XSS via Search Asset Preview (innerHTML)SiYuan before v3.8.2 contains a stored cross-site scripting vulnerability in the search asset preview feature that fails to escape indexed asset content before inserting it into the DOM using innerHTML. Attackers who can place crafted text assets in a workspace can execute JavaScript in the SiYuan origin when victims preview the assets, enabling authenticated API requests and workspace manipulation. |
|
| CVE-2026-87813 | Sep 09, 2026 |
SiYuan <3.8.2 XSS via Search Assets Filename InjectionSiYuan before v3.8.2 contains a stored cross-site scripting vulnerability in the Search Assets result list where asset filenames are interpolated into HTML without escaping. Authenticated attackers can craft asset filenames containing malicious markup that executes JavaScript in the victim's browser when searching assets, enabling same-origin API requests and application state manipulation. |
|
| CVE-2026-87812 | Sep 09, 2026 |
SiYuan <3.8.2 XSS via iconURL in Bazaar package cardsSiYuan before v3.8.2 contains a stored cross-site scripting vulnerability in Bazaar package cards where the iconURL metadata is inserted directly into HTML img src attributes without escaping. Attackers can inject malicious URLs with event handlers that execute JavaScript in the authenticated SiYuan origin when users view Bazaar listings, enabling API requests and application state manipulation. |
|
| CVE-2026-87811 | Sep 09, 2026 |
SiYuan <3.8.2 XSS via unsanitized template path in notebook configSiYuan before v3.8.2 inserts persisted notebook template paths into HTML input value attributes without proper attribute encoding. Attackers can craft malicious template paths that break out of the attribute context and execute JavaScript when a victim opens notebook configuration, enabling same-origin API requests and application state manipulation. |
|
| CVE-2026-87810 | Sep 09, 2026 |
Siyuan <3.8.2 Match Count Leak in /api/search/fullTextSearchBlockSiyuan before v3.8.2 contains an information disclosure vulnerability in the POST /api/search/fullTextSearchBlock endpoint that filters private blocks from results but returns unfiltered match counts. Unauthenticated publish-mode readers can submit arbitrary search terms to learn whether matching content exists in hidden or unpublished documents and determine the number of matching blocks and pages. |
|
| CVE-2026-87809 | Sep 09, 2026 |
Siyuan 3.8.1 API: Publish-Access Filtering Exposed via Embedded BlocksSiyuan before v3.8.2 fails to apply publish-access filtering to embedded blocks before rendering in the /api/export/preview and /api/lute/copyStdMarkdown endpoints. Attackers with reader access can retrieve the full rendered content of private, hidden, or publish-disabled blocks by accessing public documents containing embed queries that select those blocks. |
|
| CVE-2026-87808 | Sep 09, 2026 |
SiYuan <=3.8.1 Full Text Search Block SQL Injection in Read-Only ModeSiYuan versions <= 3.8.1 contain an incomplete fix for CVE-2026-32767 (GHSA-j7wh-x834-p3r7). The prior fix (commit d5e2d0bc) added an administrator check for SQL mode (method=2) in POST /api/search/fullTextSearchBlock, but the endpoint still does not enforce the application's read-only boundary: for method=2 it forwards caller-supplied SQL to the blocks database query path without calling model.CheckReadonly or CheckReadonlyStatementInBox. As a result, when a workspace runs in read-only mode (--readonly=true), an authenticated administrator can submit arbitrary SQL through /api/search/fullTextSearchBlock and obtain raw read access to the blocks database, even though the dedicated /api/query/sql endpoint is blocked in that mode. Fixed in v3.8.2. |
|
| CVE-2026-87807 | Sep 09, 2026 |
Siyuan <3.8.2 Authenticated SQLi in fullTextSearchBlock endpointsiyuan 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-86712 | Sep 08, 2026 |
SiYuan <3.8.2 Clipboard MIME Trust Exploit (Node.js Code Exec)SiYuan before 3.8.2 trusts the attacker-writable text/siyuan clipboard MIME type and skips sanitization in the paste handler, allowing code execution in the Node-enabled desktop renderer. Attackers can craft malicious web pages that write to the clipboard, and when pasted into SiYuan, injected scripts execute with full Node.js access through the Electron main process. |
|
| CVE-2026-86192 | Sep 05, 2026 |
SiYuan <v3.8.2 Unfiltered getAttributeViewKeys Exposes Private DBSiYuan versions before v3.8.2 fail to properly filter private attribute-view cell values in the getAttributeViewKeys endpoint. Publish readers can retrieve hidden KeyValues payloads from rows bound to inaccessible documents, exposing private database contents without authorization. |
|
| CVE-2026-86191 | Sep 05, 2026 |
SiYuan < v3.8.2: Info Disclosure via getAttributeViewKeysByIDSiYuan versions before v3.8.2 contain an information disclosure vulnerability in the getAttributeViewKeysByID endpoint that allows publish readers to enumerate private attribute view key definitions without verifying parent database visibility. Attackers can access the endpoint to retrieve complete key schemas including sensitive field names and relation definitions from hidden databases. |
|
| CVE-2026-85585 | Sep 04, 2026 |
SiYuan v<3.8.2 - Unbounded Request-Concurrency Resource Consumption (DoS)SiYuan before v3.8.2 contains an unbounded resource consumption vulnerability in the request-concurrency middleware that retains mutex entries for every unique request path without eviction. Unauthenticated attackers can send numerous unique request paths to permanently increase process memory and synchronization overhead, degrading availability. |
|
| CVE-2026-85584 | Sep 04, 2026 |
SiYuan <3.8.2 DoS via Basic Auth Throttle Memory ExhaustionSiYuan versions before v3.8.2 contain a denial of service vulnerability in the publish-service Basic Auth throttle that stores failed-attempt state using attacker-controlled usernames without enforcing capacity limits or eviction policies. Unauthenticated attackers can submit repeated authentication requests with unique invalid usernames to exhaust memory and increase synchronization overhead, degrading service availability. |
|
| CVE-2026-85583 | Sep 04, 2026 |
SiYuan <3.8.2 Path Traversal via Symlink in Reader-Accessible Asset EndpointSiYuan versions before v3.8.2 contain a path traversal vulnerability in the reader-accessible file-read endpoint that follows symlinks when opening authorized asset paths. Attackers with reader role can request a logical asset under data/assets/ that is a symlink to a file outside the workspace and receive the target file bytes, bypassing workspace boundary restrictions. |
|
| CVE-2026-85582 | Sep 04, 2026 |
SiYuan v<3.8.2 Unbounded Auth Session DoSSiYuan versions before v3.8.2 contain an unbounded session creation vulnerability in the publish-service Basic Auth handler that allows authenticated attackers to exhaust memory. Attackers can repeatedly authenticate with valid credentials to create persistent session entries without expiry or capacity limits, causing indefinite process memory growth and denial of service. |
|
| CVE-2026-85581 | Sep 04, 2026 |
SiYuan <3.8.2 DoS: Unauthenticated /api/system/uiprocSiYuan before v3.8.2 contains a denial of service vulnerability in the unauthenticated /api/system/uiproc endpoint that accepts and retains attacker-controlled process identifiers without size limits or authentication. Attackers can send repeated requests with unique identifiers to exhaust process memory and degrade service availability. |
|
| CVE-2026-85580 | Sep 04, 2026 |
SiYuan <3.8.2 Path Guard Bypass in MCP Read Sensitive ConfigsSiYuan versions before v3.8.2 contain a path guard bypass vulnerability in the MCP file-access handler that uses case-sensitive matching on Linux filesystems. Attackers can read the protected publishAccess.json file by requesting case-variant paths like PublishAccess.json to disclose sensitive publish-access configuration and metadata. |
|
| CVE-2026-85579 | Sep 04, 2026 |
SiYuan v3.8.1 Info Disclosure: /api/transactions/undoState leaks internal IDsSiYuan is affected by an information disclosure vulnerability (confirmed in v3.8.1, fixed in v3.8.2) in the reader-accessible POST /api/transactions/undoState endpoint. The endpoint returns the peekMutatedRootIDs list from the global undo-log stack for a caller-supplied root ID without applying publish-access visibility filtering. An authenticated reader who knows the root ID of a visible document can obtain the internal root IDs of other documents (including private or unpublished ones) modified in the same cross-document transaction, disclosing internal identifiers and cross-document relationships. Document body contents are not directly exposed. |
|
| CVE-2026-85578 | Sep 04, 2026 |
SiYuan <=3.8.1 Auth Bypass /api/file/getFile exposes private notebooksSiYuan 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-85175 | Sep 03, 2026 |
SiYuan <=3.8.1 blocklist flaw leaks TLS keysSiYuan versions <= 3.8.1 (fixed in v3.8.2) contain an incomplete blocklist in the IsForbiddenAbsPath() function (kernel/util/path_guard.go), which only blocks conf/conf.json by exact match and does not restrict the TLS private key (conf/key.pem) or CA private key (conf/ca.key) stored in the same conf/ directory. Because the getFile handler skips the blocklist for RoleAdministrator and all authenticated users receive RoleAdministrator in v3.8.1, any user (or any client on a default no-auth-code instance) can retrieve these private keys via POST /api/file/getFile. On deployments with TLS enabled, this allows decryption of captured HTTPS traffic (key.pem) and forging of certificates trusted by clients that imported SiYuan's CA (ca.key). |
|
| CVE-2026-85174 | Sep 03, 2026 |
SiYuan <3.8.2 API Tokens Logged from Query Params - Auth EscalationSiYuan before v3.8.2 logs API tokens from query parameters in plaintext to an accessible log file when full-text search requests exceed timing thresholds. Authenticated attackers can read the log file via the getFile endpoint to recover admin API tokens and gain permanent administrative access. |
|
| CVE-2026-84803 | Sep 02, 2026 |
SiYuan <3.8.2 XSS via asset serving: .xht/.rdf executionSiYuan before v3.8.2 contains a stored cross-site scripting vulnerability in asset serving due to an incomplete extension blocklist that misses script-capable file types. Attackers can upload files with extensions like .xht, .ehtml, .xsl, .xbl, or .rdf that resolve to executable media types and execute JavaScript to steal API tokens and compromise workspaces. |
|
| CVE-2026-82654 | Aug 30, 2026 |
SiYuan <3.8.1 XSS via block name/alias/memo renderingSiYuan before v3.8.1 fails to properly escape block name, alias, and memo fields in hint, backlink, and breadcrumb rendering functions. Attackers can set a block's name to contain HTML/script tags that execute when another user views documents referencing or displaying that block. |
|
| CVE-2026-82653 | Aug 30, 2026 |
SiYuan XSS in confirmDialog() before v3.8.1 via unescaped package nameSiYuan before v3.8.1 contains a stored cross-site scripting vulnerability in confirmDialog() where unescaped package names and notebook names are interpolated directly into innerHTML assignments. Attackers can submit malicious bazaar packages with HTML/script payloads in the name field that execute in users' browsers when uninstalling packages or unlocking encrypted notebooks. |
|
| CVE-2026-82652 | Aug 30, 2026 |
SiYuan <3.8.1: SQL Embed & Attr-View Backlink Disclosure in Publish ModeSiYuan before v3.8.1 fails to filter invisible-tier content from SQL embed blocks, attribute-view keys, and attribute-view backlinks in publish mode. Anonymous readers can enumerate invisible content through these three listing mechanisms despite admin configuration marking content unlisted. |
|
| CVE-2026-82651 | Aug 30, 2026 |
SiYuan <3.8.1: /history/*path & /repo/diff/*path leak sensitive filesSiYuan before v3.8.1 does not apply the IsForbiddenAbsPath guard (introduced in GHSA-c8r8-95hg-mp34) to the /history/*path and /repo/diff/*path endpoints in kernel/server/serve.go. These routes require admin authentication but construct file paths independently, so an authenticated administrator can retrieve historical snapshots of sensitive files that the guard is meant to block, including data/.siyuan/publishAccess.json (plaintext publish-mode passwords) and files under data/templates/. |
|
| CVE-2026-82650 | Aug 30, 2026 |
SiYuan 3.8.0 RenderTemplate Path Traversal Sensitive File Exposure, fixed 3.8.1SiYuan 3.8.0 contains a path traversal / sensitive file exposure vulnerability in the RenderTemplate function (kernel/model/template.go), reachable via the POST /api/template/render endpoint (kernel/api/template.go). The endpoint restricts the supplied path only to the workspace directory (util.IsAbsPathInWorkspace) but, unlike the file API's refuseToAccess() blocklist, applies no sensitive-path exclusion. This allows an authenticated attacker to read sensitive workspace files, including conf/conf.json, which contains the API token and cookie signing key. The issue is fixed in v3.8.1. |
|
| CVE-2026-82649 | Aug 30, 2026 |
SiYuan Windows NSIS <3.8.1 Uncontrolled Search Path LPESiYuan Windows installer before version 3.8.1 (affected versions >= 2.0.14) contains an uncontrolled search path element vulnerability in its NSIS installer, which invokes system executables such as TASKKILL by name rather than by absolute path. Because NSIS nsExec::Exec resolves these calls using a search path that includes the installer's own launch directory ahead of System32, an attacker who plants a malicious executable (e.g., a renamed TASKKILL.exe) in that directory can have it executed when the installer runs. These calls occur in electron-builder's preInit hook before the license page is displayed, and with an all-users (elevated) install the planted binary executes with an elevated token, resulting in local privilege escalation. |
|
| CVE-2026-82234 | Aug 28, 2026 |
SiYuan <3.8.1 SSRF via DNS Rebinding http_request & web_fetch (CVE-2026-82234)SiYuan versions before v3.8.1 contain a server-side request forgery vulnerability in the http_request and web_fetch agent tools that perform DNS resolution only at guard time without validating the connect-time resolution. Attackers can use DNS rebinding to answer the guard resolution with a public IP and the connect resolution with a private or metadata IP, bypassing the SSRF defense to access cloud instance metadata and internal services. |
|
| CVE-2026-82233 | Aug 28, 2026 |
SiYuan <3.8.1 Path Traversal in asset.upload MCP via Prompt InjectionSiYuan before v3.8.1 contains a path traversal vulnerability in the asset.upload MCP tool that accepts arbitrary absolute file paths without workspace boundary validation. Attackers can induce the AI Agent to upload sensitive files such as SSH keys or credentials from outside the workspace into the asset directory through prompt injection. |
|
| CVE-2026-62204 | Aug 22, 2026 |
SiYuan <v3.7.4: bazaar install allows overwrite via mismatched packageNameSiYuan 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 | Aug 22, 2026 |
SiYuan <3.7.4: API Search/removeTemplate Allows Arbitrary File DeleteSiYuan 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 | Aug 22, 2026 |
SiYuan < v3.8.0 Path Blocklist Flaw Exposes Sensitive FilesSiYuan 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 | Aug 22, 2026 |
Secret exfil via interpolated URL in SiYuan MCP <v3.8.0SiYuan 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-77086 | Aug 21, 2026 |
SiYuan <3.7.4 PathTraverse via Bazaar Install/Uninstall (admin)SiYuan before v3.7.4 fails to validate the packageName parameter in Bazaar install and uninstall endpoints, allowing authenticated administrators to perform path traversal via directory traversal sequences. Attackers with admin access can write arbitrary files to any location via install operations or recursively delete directories via uninstall operations by supplying crafted packageName values. |
|
| CVE-2026-75917 | Aug 19, 2026 |
SiYuan <3.7.4 XSS: Unsafe Path-Tree Tooltip Enables RCESiYuan 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 | Aug 19, 2026 |
SiYuan <=3.7.3 Block-Reference XSS OS Command Exec via ElectronSiYuan 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-74906 | Aug 18, 2026 |
SiYuan <=3.7.3: Incorrect auth in publish-mode endpoints (CVE-2026-74906)SiYuan before v3.7.4 contains an incorrect authorization vulnerability in eight publish-mode reader-facing endpoints that filter results using the visibility list instead of the disabled list. Anonymous visitors can discover and read content from documents explicitly marked as forbidden from publishing by accessing search, backlink, asset content, saved criteria, recent documents, graph, and tag endpoints. |
|
| CVE-2026-74905 | Aug 18, 2026 |
SiYuan <3.7.4 SSRF via isPrivateIP in SafeModeSiYuan before v3.7.4 contains a server-side request forgery (SSRF) vulnerability in the isPrivateIP function in kernel/util/net.go, used by SSRFSafeDialer to enforce SSRF protection in SafeMode. The function only checks for loopback, link-local unicast, private, and unspecified addresses and does not recognize IPv6 transition addresses (NAT64 64:ff9b::/96, 6to4 2002::/16, Teredo 2001::/32) that embed private IPv4 destinations. When SafeMode is enabled, an authenticated attacker can bypass the SSRF guard via the network forward proxy, WebSocket proxy, or SSE proxy endpoints by supplying a URL whose hostname resolves to such a transition address, reaching internal services and cloud metadata endpoints (e.g., 169.254.169.254). Because the forward proxy returns the full response body, this is a full-read SSRF that can be used to steal instance credentials, reach internal services, and port-scan internal infrastructure. |
|
| CVE-2026-74904 | Aug 18, 2026 |
SiYuan <3.7.4 Block Metadata Disclosure via Missing Auth (CVE-2026-74904)SiYuan before v3.7.4 is missing authorization checks in 17 block metadata/content endpoints in kernel/api/block.go (including getRefText, checkBlockExist, and getBlockBreadcrumb). These handlers are gated only by basic authentication (model.CheckAuth) and lack publish-access filtering, allowing anonymous publish-mode readers to disclose private block content-derived text, structural metadata, and existence information for arbitrary block IDs across the workspace. |
|
| CVE-2026-74903 | Aug 18, 2026 |
SiYuan <3.7.4: Inadequate Access Control in /api/lute/spinBlockDOMSiYuan before v3.7.4 contains an insufficient access control vulnerability in the /api/lute/spinBlockDOM endpoint, which is guarded only by CheckAuth middleware instead of CheckAdminRole like its sibling endpoint. Authenticated users with RoleEditor or RoleReader roles can invoke the endpoint to transform arbitrary DOM input, and large payloads cause endpoint starvation through per-path mutex serialization. |
|
| CVE-2026-74902 | Aug 18, 2026 |
SiYuan <3.7.4 XSS: insertAdjacentHTML Vulnerability in File UploadSiYuan 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-74868 | Aug 17, 2026 |
SiYuan <3.7.4 Unthrottled Brute-Force via Publish Service Basic AuthSiYuan versions before 3.7.4 contain an unthrottled brute-force vulnerability in the Publish Service Basic Auth implementation (PublishServiceTransport.RoundTrip() in kernel/server/proxy/publish.go). The Publish Service runs on a separate, unauthenticated-by-default listener (default TCP port 6808) and gates named publish-viewer accounts (Conf.Publish.Auth.Accounts) with Basic Auth that has no rate limiting, per-account lockout, or backoff. Unauthenticated remote attackers can submit unlimited password guesses against named accounts to gain access to published notes/notebooks. |
|