Skip to content
OpenAdvisories

Package · Go

github.com/siyuan-note/siyuan/kernel

113 known vulnerabilities.

43 results · Clear filters · Feed

  • Medium 5.8

    SiYuan: The publish filter for local storage returns the administrator's entire storage map with only three keys sanitized

    ### Relationship to GHSA-hgfg-j9pg-43xw That advisory concerned the administrator's live UI layout, and commit `63c7d5474` resolved it by removing `FilterUILayoutByPublishIgnore` and nulling `Conf.UILayout` for readers. That fix is correct and complete for th…

  • Medium 4.9

    SiYuan before v3.8.1 Missing Authorization via /history and /repo/diff

    SiYuan 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 independent…

  • Medium 5.7

    SiYuan before v3.8.1 Path Traversal via asset.upload

    SiYuan 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 credent…

  • Medium 6.6

    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 parame…

  • Medium 4.9

    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/.siy…

  • Medium 5.8

    SiYuan before v3.7.4 Information Disclosure via authFilePublishAccess

    SiYuan before v3.7.4 contains an information disclosure vulnerability in the /api/filetree/authFilePublishAccess endpoint, which is registered with CheckAuth only and is reachable anonymously. The endpoint never sets a failure code, so its outcome is signalle…

  • Medium 5.8

    SiYuan before v3.7.4 Information Disclosure via getAttributeViewBacklinks

    SiYuan versions before v3.7.4 contain an information disclosure vulnerability in the getAttributeViewBacklinks endpoint that consults the forbidden access list instead of the visibility list when filtering backlinks. Anonymous readers can supply a publicly vi…

  • Medium 6.5

    SiYuan before v3.7.4 Missing Authorization via refreshBacklink

    SiYuan versions before v3.7.4 contain a missing authorization vulnerability in the /api/ref/refreshBacklink endpoint that allows anonymous readers to trigger persistent server-side writes. Attackers can invoke the endpoint with an attacker-controlled block ID…

  • Medium 5.8

    SiYuan before v3.7.4 Information Disclosure via getBookmarkLabels

    SiYuan versions before v3.7.4 contain an information disclosure vulnerability in the getBookmarkLabels endpoint that returns all bookmark labels in the workspace without publish-access filtering. Anonymous readers and publish-mode readers can obtain the compl…

  • Medium 5.8

    SiYuan before v3.7.4 Information Disclosure via getOutlineStorage

    SiYuan versions before v3.7.4 contain an information disclosure vulnerability in the /api/storage/getOutlineStorage endpoint that performs no authorization checks. Attackers can retrieve outline state including heading identifiers for any document by supplyin…

  • Medium 5.8

    SiYuan before v3.7.4 Information Disclosure via getRefIDs

    SiYuan versions before v3.7.4 contain an information disclosure vulnerability in the /api/block/getRefIDs endpoint that fails to check password-protected document tiers. Unauthenticated readers can discover that password-protected documents reference specific…

  • Medium 5.8

    SiYuan before v3.7.4 Path Traversal via getUniqueFilename

    SiYuan versions before v3.7.4 contain a path traversal vulnerability in the getUniqueFilename endpoint that allows anonymous readers to probe filesystem existence without validation or confinement. Attackers can supply arbitrary absolute paths to determine wh…

  • Medium 5.8

    SiYuan before v3.7.4 Information Disclosure via getFileAnnotation

    SiYuan versions up to and including v3.7.2 (fixed in v3.7.4) contain an information disclosure vulnerability in the /api/asset/getFileAnnotation endpoint, which returns .sya PDF-annotation file content without a publish-access check. Because the endpoint is g…

  • Medium 5.8

    SiYuan before v3.7.4 Authentication Bypass via Attribute View

    SiYuan versions before v3.7.4 contain an authentication bypass vulnerability in the FilterViewByPublishAccess filter that fails to check publish password protection when rendering attribute views and database rows. Unauthenticated readers can access password-…

  • Medium 5.8

    SiYuan before v3.7.4 Information Disclosure via Block Endpoints

    SiYuan versions before v3.7.4 fail to enforce publish-access checks on getBlockBreadcrumb, getRefText, and getBlockTreeInfos endpoints, allowing disclosure of protected document content and metadata. Anonymous readers or publish RoleReader accounts can retrie…

  • Medium 5.8

    SiYuan before v3.7.4 Information Disclosure via getBlockAttrs

    SiYuan versions before v3.7.4 fail to enforce publish-access checks in the getBlockAttrs and batchGetBlockAttrs endpoints. Attackers can retrieve block attributes including names, aliases, memos, and custom fields from protected documents by sending POST requ…

  • Medium 5.3

    SiYuan before v3.7.4 Information Disclosure via resolveAssetPath

    SiYuan versions before v3.7.4 contain an information disclosure vulnerability in the resolveAssetPath endpoint that returns absolute filesystem paths unmodified to CheckAuth-only requests. Attackers can harvest relative asset paths from published documents an…

  • Medium 5.8

    SiYuan before v3.7.4 Information Disclosure via Unfiltered API

    SiYuan versions before v3.7.4 fail to apply publish-access filtering to the getAttributeViewKeysByID endpoint, allowing authenticated readers to retrieve complete database column schemas including descriptions, select vocabularies, and template expressions. A…

  • Medium 5.8

    SiYuan before v3.7.4 Information Disclosure via Path Resolution

    SiYuan before v3.7.4 (affected <=v3.7.2) fails to enforce publish-access filters on five filetree path-resolution endpoints (getFullHPathByID, getHPathByID, getPathByID, getIDsByHPath, and getHPathByPath). In publish mode, when Publish.Auth.Enable is false, a…

  • Medium 5.8

    SiYuan before v3.7.4 Information Disclosure via getEncryptedNotebookStatus

    SiYuan versions before v3.7.4 contain an information disclosure vulnerability in the getEncryptedNotebookStatus endpoint that returns encrypted notebook identifiers, names, and lock states without publish-access filtering. Anonymous readers and publish-mode a…

  • Medium 5.8

    SiYuan before v3.7.4 Access Control Bypass via Static Routes

    SiYuan before v3.7.4 contains an access control bypass vulnerability where static-file routes in the server mux bypass publish-access controls enforced on the REST API. Attackers with publish reader tokens or anonymous access in disabled-auth mode can read te…

  • Medium 5.8

    SiYuan before v3.7.4 Information Disclosure via Tag API

    SiYuan before v3.7.4 contains an information disclosure vulnerability in the /api/tag/getTag endpoint that returns tag labels and occurrence counts from password-protected documents to unauthenticated readers. Attackers can enumerate tag vocabulary and intern…

  • Medium 5.8

    SiYuan v3.7.4-alpha.1 Information Disclosure via getAttributeViewFieldViews

    SiYuan v3.7.4-alpha.1 (a pre-release; the endpoint does not exist in stable v3.7.3 or earlier) contains an information disclosure vulnerability in the /api/av/getAttributeViewFieldViews endpoint. The route is registered with CheckAuth only and applies no publ…

  • Medium 5.8

    SiYuan before v3.7.4 Information Disclosure via getNotebookInfo

    SiYuan before v3.7.4 contains an information disclosure vulnerability in the /api/notebook/getNotebookInfo endpoint that returns notebook metadata without authorization checks. Attackers can read notebook names, document counts, sizes, and timestamps for clos…

  • Medium 5.8

    SiYuan before v3.7.4 Information Disclosure via UILayout Filter

    SiYuan versions before v3.7.4 contain an information disclosure vulnerability in the UILayout filter that fails to properly restrict administrator workspace state from publish readers. Unauthenticated attackers can retrieve the administrator's open documents,…

  • Medium 5.8

    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 R…

  • Medium 6.5

    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.TempDi…

  • Medium 5.9

    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 val…

  • Medium 4.3

    SiYuan: Broken access control in SiYuan `/api/tag/getTag` — Reader role can mutate `Conf.Tag.Sort` and persist to disk

    SiYuan is an open-source personal knowledge management system. Prior to 3.7.0, POST /api/tag/getTag is registered with model.CheckAuth only, omitting both model.CheckAdminRole and model.CheckReadonly, despite the handler performing a configuration write that …

  • Medium 4.3

    SiYuan: Broken access control in SiYuan publish-mode Readers can enumerate metadata

    SiYuan is an open-source personal knowledge management system. Prior to 3.7.0, broken access control in the searchAsset, searchTag, searchWidget, and searchTemplate publish-mode Readers can enumerate metadata from documents that are invisible to the publish s…

  • Medium 5.3

    SiYuan: Incomplete sanitization of bazaar README allows stored XSS via iframe srcdoc (incomplete fix for CVE-2026-33066)

    SiYuan is an open-source personal knowledge management system. In versions 3.6.1 through 3.6.3, a prior fix for XSS in bazaar README rendering (incomplete fix for CVE-2026-33066) enabled the Lute HTML sanitizer, but the sanitizer does not block iframe tags, a…

  • Medium 6.8

    SiYuan has an Incomplete Fix for IsSensitivePath Denylist Allows File Read from /opt, /usr, /home

    SiYuan is a personal knowledge management system. Prior to version 3.6.2, the `IsSensitivePath()` function in `kernel/util/path.go` uses a denylist approach that was recently expanded (GHSA-h5vh-m7fg-w5h6, commit 9914fd1) but remains incomplete. Multiple secu…

  • Medium 5.3
    CVE-2026-33067 Public exploit

    SiYuan has Stored XSS to RCE via Unsanitized Bazaar Package Metadata

    SiYuan is a personal knowledge management system. Versions 3.6.0 and below render package metadata fields (displayName, description) using template literals without HTML escaping. A malicious package author can inject arbitrary HTML/JavaScript into these fiel…

  • Medium 5.3

    SiYuan has Stored XSS to RCE via Unsanitized Bazaar README Rendering

    SiYuan is a personal knowledge management system. In versions 3.6.0 and below, the backend renderREADME function uses lute.New() without calling SetSanitize(true), allowing raw HTML embedded in Markdown to pass through unmodified. The frontend then assigns th…

  • Medium 5.3

    SiYuan: Cross-Origin WebSocket Hijacking via Authentication Bypass — Unauthenticated Information Disclosure

    SiYuan is a personal knowledge management system. In versions 3.6.0 and below, the WebSocket endpoint (/ws) allows unauthenticated connections when specific URL parameters are provided (?app=siyuan&id=auth&type=auth). This bypass, intended for the login page …

  • Medium 5.1

    SiYuan Vulnerable to Remote Code Execution via Stored XSS in Notebook Name - Mobile Interface

    SiYuan is a personal knowledge management system. In versions 3.6.0 and below, the mobile file tree (MobileFiles.ts) renders notebook names via innerHTML without HTML escaping when processing renamenotebook WebSocket events. The desktop version (Files.ts) pro…

  • Medium 6.8

    SiYuan: Incomplete sensitive path blocklist in globalCopyFiles allows reading /proc and Docker secrets

    SiYuan is a personal knowledge management system. In versions 3.6.0 and below, the globalCopyFiles API eads source files using filepath.Abs() with no workspace boundary check, relying solely on util.IsSensitivePath() whose blocklist omits /proc/, /run/secrets…

  • Medium 6.5

    SiYuan renderSprig: missing admin check allows any user to read full workspace DB

    SiYuan is a personal knowledge management system. Prior to 3.6.1, POST /api/template/renderSprig lacks model.CheckAdminRole, allowing any authenticated user to execute arbitrary SQL queries against the SiYuan workspace database and exfiltrate all note content…

  • Medium 6.4

    SiYuan has a SVG Sanitizer Bypass via Whitespace in `javascript:` URI — Unauthenticated XSS

    SiYuan is a personal knowledge management system. Prior to 3.5.10, SiYuan's SVG sanitizer (SanitizeSVG) checks href attributes for the javascript: prefix using strings.HasPrefix(). However, inserting ASCII tab (&#9;), newline (&#10;), or carriage return (&#13…

  • Medium 6.4

    SiYuan has a SVG Sanitizer Bypass via `<animate>` Element — Unauthenticated XSS

    SiYuan is a personal knowledge management system. Prior to 3.5.10, SiYuan's SVG sanitizer (SanitizeSVG) blocks dangerous elements (<script>, <iframe>, <foreignobject>) and removes on* event handlers and javascript: in href attributes. However, it does NOT blo…