<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-02T20:14:59.356706+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/cve-2026-102831</id>
    <title>CVE-2026-102831 — JupyterLab: Cross-site scripting (XSS) in JupyterLab via notebook cells pasted from the system clipboard</title>
    <updated>2026-10-02T20:14:59.369575+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> jupyterlab, jupyterlab notebook, jupyterlab jupyterlite-core</p>
<p>JupyterLab is an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook Architecture. From JupyterLab 4.5.0 until 4.5.11 and 4.6.4, from Notebook 7.5.0 until 7.6.3, and from JupyterLite Core 0.7.0 until 0.8.4, the system clipboard cell-paste path accepts attacker-controlled cell JSON without clearing metadata.trusted. When useSystemClipboardForCells is active and pasteCodeCellsWithoutOutput is disabled, a pasted code cell can mark HTML output as trusted, bypass output sanitization, and execute script in the authenticated JupyterLab origin without executing the cell. Markdown and raw cells are not affected because their output is sanitized. This issue is fixed in JupyterLab 4.5.11 and 4.6.4, Notebook 7.6.3, and JupyterLite Core 0.8.4.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2026-102831"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-6966-vjj6-99xv</id>
    <title>GHSA-6966-vjj6-99xv — JupyterLab: Cross-site scripting (XSS) in JupyterLab via notebook cells pasted from the system clipboard</title>
    <updated>2026-10-02T20:14:59.369665+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: jupyterlab, PyPI: notebook, PyPI: jupyterlite, PyPI: jupyterlite-core</p>
<p>## Description</p>
<p>JupyterLab 4.5.0 enabled copying and pasing cells through the system clipboard. The paste path parses clipboard text as cell JSON and inserts the cells without clearing `metadata.trusted`, so a payload can declare its own output as trusted. JupyterLab does not sanitize a trusted output and evaluates the `&lt;script&gt;` elements it contains, so pasting the cell runs attacker's JavaScript in the JupyterLab origin. The same payload with `"trusted": false` is sanitized.</p>
<p>```json
[
  {
    "cell_type": "code",
    "execution_count": null,
    "source": "",
    "metadata": { "trusted": true },
    "outputs": [
      {
        "output_type": "display_data",
        "metadata": {},
        "data": { "text/html": "&lt;script&gt;/* runs on paste */&lt;/script&gt;" }
      }
    ]
  }
]
```</p>
<p>Users are affected if all of the following are true:</p>
<p>- they run JupyterLab 4.5.0 through 4.6.3, or an application that bundles it such as Notebook 7.5+;
- if running 4.5.2 or newer, `useSystemClipboardForCells` is enabled - it is off by default in 4.5.2+, and always enabled on 4.5.0 and 4.5.1 with no opt-out
- they run a Paste Cells command (e.g. from context menu, command palette, shortcut) while attacker-controlled text is in the clipboard; and
- `pasteCodeCellsWithoutOutput` is off, the default, so the pasted cell keeps its outputs</p>
<p>### Impact</p>
<p>The script runs in the JupyterLab page, in the same origin and session as the authenticated user, so it can call the Jupyter Server REST API as that use…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-6966-vjj6-99xv"/>
  </entry>
</feed>
