🛡️ GHSA-gj55-2xf9-67rq — jupyterlite-core

⚪ Unknown ✅ No Known Exploit CWE-79 OSV
N/A
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

HTML injection in JupyterLite leading to DOM Clobbering

Impact

The vulnerability depends on user interaction by opening a malicious notebook with Markdown cells, or Markdown file using JupyterLab preview feature.

A malicious user can access any data accessible from JupyterLite and perform arbitrary actions in JupyterLite environment.

Patches

JupyterLite 0.4.1 was patched.

Workarounds

There is no workaround for the underlying DOM Clobbering susceptibility. However, select plugins can be disabled on deployments which cannot update in a timely fashion to minimise the risk. These are:

  • @jupyterlab/mathjax-extension:plugin - users will loose ability to preview mathematical equations
  • @jupyterlab/markdownviewer-extension:plugin - users will loose ability to open Markdown previews
  • @jupyterlab/mathjax2-extension:plugin (if installed with optional jupyterlab-mathjax2 package) - an older version of the mathjax plugin for JupyterLab 4.x

To disable these extensions populate the disabledExtensions key in jupyter-config-data stanza of jupyter-lite.json as documented on https://jupyterlite.readthedocs.io/en/stable/howto/configure/config_files.html#jupyter-lite-json

```json

{

"jupyter-lite-schema-version": 0,

"jupyter-config-data": {

"appName": "My JupyterLite App",

"disabledExtensions": [

"@jupyterlab/markdownviewer-extension:plugin",

"@jupyterlab/mathjax-extension:plugin",

"@jupyterlab/mathjax2-extension:plugin"

]

}

}

```

To confirm that the plugins were disabled manual inspection of the built page is required.

References

Upstream advisory: https://github.com/jupyterlab/jupyterlab/security/advisories/GHSA-9q39-rmj3-p4r2

Notes

This change has a potential to break rendering of some markdown. There is a setting in Sanitizer which allows to revert to the previous sanitizer settings (allowNamedProperties).

How this vulnerability can be exploited

This issue can be reached over the network, attack complexity is low, an attacker needs no privileges on the target. A user must actively cooperate. Rated impact: confidentiality none, integrity none, availability none.

Weakness class

GHSA-gj55-2xf9-67rq is classified as CWE-79: Cross-site Scripting (XSS). User-supplied data is written into a page without escaping, so attacker script runs in the browser of anyone who views it.

Affected software

GHSA-gj55-2xf9-67rq is recorded against 1 package.

  • jupyterlite-core (fixed in 0.4.1)

Timeline and source

Published on 6 September 2024 and last revised on 28 November 2024. No public exploit is currently recorded for this entry. Record sourced from OSV.

References

github.com (Web)
github.com (Web)
github.com (Package)

Details

Severity Unknown
CVSS Score N/A
CVSS Vector CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N
CWE CWE-79
Public Exploit ✅ No
Source OSV
Published 2024-09-06
Updated 2026-08-20
Modified 2024-11-28
Fix URL N/A

Affected Packages

Software From version Fixed in
jupyterlite-core 0.4.1

Free Vulnerability Check

Is your site affected by GHSA-gj55-2xf9-67rq?

BotEraser helps you identify potentially vulnerable plugins and themes by checking your installation against GHSA-gj55-2xf9-67rq and other known CVE records.

Scan My Site Free →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.

Browse related advisories

All advisoriesGitHub AdvisoryGitHub Advisory Undated