0Xkakash1

#1660of 53,633
136.8Total CVSS
Vulnerabilities · 18
Medium
6
High
8
Critical
4
PT-2026-26188
9
2026-03-18
Siyuan · Siyuan · CVE-2026-33066
**Name of the Vulnerable Software and Affected Versions** SiYuan versions 3.6.0 and earlier SiYuan versions 3.5.9 and earlier **Description** SiYuan is a personal knowledge management system. 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 the rendered HTML to 'innerHTML' without additional sanitization. A malicious package author can embed arbitrary JavaScript in their README, which executes when a user clicks to view the package details. Because SiYuan's Electron configuration enables 'nodeIntegration: true' with 'contextIsolation: false', this cross-site scripting (XSS) escalates directly to full Remote Code Execution (RCE). The backend function affected is `renderREADME` located in `kernel/bazaar/package.go:635-645`. The frontend assignment occurs in `app/src/config/bazaar.ts:607`. The Electron configuration is found in `app/electron/main.js:422-426`. The issue was exploited through the Bazaar (community marketplace) by submitting a malicious package with a crafted README file. Attackers can leverage various HTML elements like `img`, `svg`, `details`, and `picture` to hide payloads. Exploitation can lead to full remote code execution, data theft, and the installation of persistent backdoors. **Recommendations** For versions 3.6.0 and earlier, enable Lute sanitization for README rendering by adding `luteEngine.SetSanitize(true)` to the `renderREADME` function in `kernel/bazaar/package.go`. For versions 3.6.0 and earlier, add client-side sanitization as a defense-in-depth measure by using DOMPurify to sanitize the HTML before assigning it to `innerHTML` in `app/src/config/bazaar.ts`. For versions 3.5.9 and earlier, enable Lute sanitization for README rendering by adding `luteEngine.SetSanitize(true)` to the `renderREADME` function in `kernel/bazaar/package.go`. For versions 3.5.9 and earlier, add client-side sanitization as a defense-in-depth measure by using DOMPurify to sanitize the HTML before assigning it to `innerHTML` in `app/src/config/bazaar.ts`.
PT-2026-26097
9
2026-03-18
Electron · Electron · CVE-2026-33067
**Name of the Vulnerable Software and Affected Versions** SiYuan versions 3.5.9 and earlier SiYuan versions 3.6.0 and below **Description** SiYuan, a personal knowledge management system, is affected by a critical issue allowing for cross-site scripting (XSS) that can escalate to remote code execution (RCE). The Bazaar (community marketplace) renders package metadata fields, specifically 'displayName' and 'description', using template literals without proper HTML escaping. This allows a malicious package author to inject arbitrary HTML and JavaScript code into these fields. When any user browses the Bazaar page, this injected code automatically executes. Due to SiYuan's Electron configuration enabling `nodeIntegration: true` with `contextIsolation: false`, the XSS vulnerability directly escalates to full RCE on the victim's operating system, requiring no user interaction beyond opening the marketplace tab. The vulnerable code is located in `app/src/config/bazaar.ts:275-277` and `app/electron/main.js:422-426`. A proof of concept demonstrates the ability to execute arbitrary commands, such as launching 'calc.exe' or establishing a reverse shell, simply by browsing the Bazaar page. This vulnerability poses a significant supply-chain risk to the entire SiYuan user community. Attackers can potentially steal API tokens, session cookies, SSH keys, browser credentials, and arbitrary files, or install persistent backdoors and ransomware. The issue affects all supported platforms: Windows, macOS, and Linux. **Recommendations** Versions prior to 3.6.1 are vulnerable. Apply HTML escaping to all package metadata in template rendering in `bazaar.ts`. Implement server-side sanitization of metadata fields during the Bazaar index pipeline. Harden the Electron configuration by setting `nodeIntegration: false`, `contextIsolation: true`, and `sandbox: true`.
PT-2026-26158
8.1
2026-03-18
Unknown · Apostrophe Cms · CVE-2026-32730
**Name of the Vulnerable Software and Affected Versions** ApostropheCMS versions 3.0.0 through 4.27.1 **Description** ApostropheCMS contains a flaw in the bearer token authentication middleware located in `@apostrophecms/express/index.js`. An incorrect MongoDB query allows incomplete login tokens – where password verification occurred but multi-factor authentication (MFA) requirements were not met – to be utilized as fully authenticated bearer tokens. This bypasses MFA for any ApostropheCMS deployment utilizing `@apostrophecms/login-totp` or custom `afterPasswordVerified` login requirements. The issue stems from the use of the `$ne: []` MongoDB operator in the query, which incorrectly matches tokens with unverified requirements. Additionally, a separate bug in `@apostrophecms/login/index.js` prevents the deletion of incomplete tokens, exacerbating the vulnerability. An attacker with a victim's username and password, but lacking their TOTP code, can exploit this flaw to gain full API access. The API endpoint **/api/v1/@apostrophecms/page** is accessible with the compromised bearer token. The vulnerable parameter is the bearer token itself, passed in the `Authorization` header. **Recommendations** Update to ApostropheCMS version 4.28.0 or later. Replace `$ne: []` with `$size: 0` in the bearer token query located in `@apostrophecms/express/index.js` (line 388). Replace `token.userId` with `token. id` in the token deletion logic within `@apostrophecms/login/index.js` (lines 728-729 and 735-736).
PT-2026-25826
9
2026-03-16
Node.Js · Node.Js · CVE-2026-32751
**Name of the Vulnerable Software and Affected Versions** SiYuan versions 3.6.0 and below SiYuan versions prior to 3.6.1 **Description** SiYuan is a personal knowledge management system. The mobile file tree component (`MobileFiles.ts`) renders notebook names using `innerHTML` without proper HTML escaping when processing `renamenotebook` WebSocket events. The desktop version (`Files.ts`) correctly utilizes `escapeHtml()` for the same operation. This allows an authenticated user with notebook renaming privileges to inject arbitrary HTML and JavaScript code, which will be executed on any mobile client displaying the file tree. The Electron environment is configured with `nodeIntegration: true` and `contextIsolation: false`, granting the injected JavaScript full access to Node.js functionalities. This escalates a stored cross-site scripting (XSS) issue to full remote code execution. The mobile layout is also used in the Electron desktop application when the window is narrow, making the issue exploitable on desktop as well. The backend API endpoint `POST /api/notebook/renameNotebook` is involved in this process, and the vulnerable code is located in `app/src/mobile/dock/MobileFiles.ts:77`. The backend component `kernel/api/notebook.go:104-116` sends unescaped names. **Recommendations** Versions prior to 3.6.1: Apply the same escaping used in the desktop version by replacing `innerHTML = data.data.name` with `innerHTML = escapeHtml(data.data.name)` in `MobileFiles.ts`. Versions prior to 3.6.1: Sanitize notebook names on the backend using a function like `util.EscapeHTML(name)` in `RenameBox()`. Versions prior to 3.6.1: As a long-term solution, harden the Electron configuration by setting `nodeIntegration: false`, `contextIsolation: true`, and `sandbox: true`.