CVE-2026-33976
Received Received - Intake
Stored XSS in Notesnook Web Clipper Enables Remote Code Execution

Publication date: 2026-03-27

Last updated on: 2026-03-31

Assigner: GitHub, Inc.

Description
Notesnook is a note-taking app. Prior to version 3.3.11 on Web/Desktop and 3.3.17 on Android/iOS, a stored XSS in the Web Clipper rendering flow can be escalated to remote code execution in the desktop app. The root cause is that the clipper preserves attacker-controlled attributes from the source page’s root element and stores them inside web-clip HTML. When the clip is later opened, Notesnook renders that HTML into a same-origin, unsandboxed iframe using `contentDocument.write(...)`. Event-handler attributes such as `onload`, `onclick`, or `onmouseover` execute in the Notesnook origin. In the desktop app, this becomes RCE because Electron is configured with `nodeIntegration: true` and `contextIsolation: false`. Version 3.3.11 Web/Desktop and 3.3.17 on Android/iOS patch the issue.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-27
Last Modified
2026-03-31
Generated
2026-05-07
AI Q&A
2026-03-28
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Showing 3 associated CPEs
Vendor Product Version / Range
streetwriters notesnook_desktop to 3.3.11 (exc)
streetwriters notesnook_mobile to 3.3.17 (exc)
streetwriters notesnook_mobile to 3.3.17 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-79 The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
CWE-94 The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability exists in the Notesnook note-taking app prior to version 3.3.11 on Web/Desktop and 3.3.17 on Android/iOS. It is a stored Cross-Site Scripting (XSS) issue in the Web Clipper rendering flow that can escalate to remote code execution (RCE) in the desktop app.

The root cause is that the clipper preserves attacker-controlled attributes from the source page's root element and stores them inside the web-clip HTML. When the clip is later opened, Notesnook renders that HTML inside a same-origin, unsandboxed iframe using contentDocument.write(...).

Event-handler attributes such as onload, onclick, or onmouseover execute in the Notesnook origin. In the desktop app, this leads to RCE because Electron is configured with nodeIntegration set to true and contextIsolation set to false, allowing attacker code to run with elevated privileges.

The issue is patched in version 3.3.11 for Web/Desktop and 3.3.17 for Android/iOS.


How can this vulnerability impact me? :

This vulnerability can have severe impacts because it allows an attacker to execute arbitrary code remotely on the desktop app.

An attacker can exploit the stored XSS in the Web Clipper to run malicious scripts within the Notesnook app context, potentially leading to full remote code execution due to Electron's insecure configuration.

This can result in unauthorized access to user data, installation of malware, data theft, or complete compromise of the affected system.


What immediate steps should I take to mitigate this vulnerability?

To mitigate this vulnerability, you should update Notesnook to version 3.3.11 or later on Web/Desktop and 3.3.17 or later on Android/iOS, as these versions contain the patch that fixes the stored XSS and remote code execution issue.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart