Skip to content
JupyterGHSA-v7vq-3x77-87vg

Token bruteforcing

Medium4.3CVE-2022-29238 · Published Jun 16, 2022 · updated Dec 6, 2023

### Impact _What kind of vulnerability is it? Who is impacted?_ Authenticated requests to the notebook server with `ContentsManager.allow_hidden = False` only prevented listing the contents of hidden directories, not accessing individual hidden files or files in hidden directories (i.e. hidden files were 'hidden' but not 'inaccessible'). This could lead to notebook configurations allowing authenticated access to files that may reasonably be expected to be disallowed. Because fully authenticated requests are required, this is of relatively low impact. But if a server's root directory contains sensitive files whose only protection from the server is being hidden (e.g. `~/.ssh` while serving $HOME), then any authenticated requests could access files if their names are guessable. Such contexts also necessarily have full access to the server and therefore execution permissions, which also generally grants access to all the same files. So this does not generally result in any privilege escalation or increase in information access, only an additional, unintended _means_ by which the files could be accessed. ### Patches _Has the problem been patched? What versions should users upgrade t...

GitHub advisory

Affected versions

PackageAffectedFixed in
notebook
PyPI
< 6.4.126.4.12
Details and references

### Impact _What kind of vulnerability is it? Who is impacted?_ Authenticated requests to the notebook server with `ContentsManager.allow_hidden = False` only prevented listing the contents of hidden directories, not accessing individual hidden files or files in hidden directories (i.e. hidden files were 'hidden' but not 'inaccessible'). This could lead to notebook configurations allowing authenticated access to files that may reasonably be expected to be disallowed. Because fully authenticated requests are required, this is of relatively low impact. But if a server's root directory contains sensitive files whose only protection from the server is being hidden (e.g. `~/.ssh` while serving $HOME), then any authenticated requests could access files if their names are guessable. Such contexts also necessarily have full access to the server and therefore execution permissions, which also generally grants access to all the same files. So this does not generally result in any privilege escalation or increase in information access, only an additional, unintended _means_ by which the files could be accessed. ### Patches _Has the problem been patched? What versions should users upgrade to?_ notebook 6.4.12 ### Workarounds _Is there a way for users to fix or remediate the vulnerability without upgrading?_ - Do not run the notebook server in a directory with hidden files, use subdirectories - Use a custom ContentsManager with additional checks for `self.is_hidden(path)` prior to completing actions ### References _Are there any links users can visit to find out more?_ ### For more information If you have any questions or comments about this advisory: * Open an issue in [example link to repo](http://example.com) * Email us at [example email address](mailto:example@example.com)

CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Severity from
GitHub (reviewed advisory)
Weakness
CWE-425
Also known as
BIT-jupyter-base-notebook-2022-29238, BIT-jupyter-notebook-2022-29238, CVE-2022-29238, PYSEC-2022-212

More Jupyter advisories

All Jupyter
Advisory
nbconvert vulnerable to cross-site scripting (XSS) via multiple exploit paths
Medium5.4Aug 10, 2022
Jupyter server Token bruteforcing
High7.1Jun 16, 2022
Cross-Site Request Forgery in JupyterHub
Medium4.5May 24, 2022
Improper Input Validation in Jupyter Notebook
Critical9.8May 17, 2022
Improper Neutralization of Input During Web Page Generation in Jupyter Notebook
Medium6.1May 14, 2022
Improper Neutralization of Input During Web Page Generation in Jupyter Notebook
Medium5.4May 14, 2022

Critical advisories by email

Wednesdays: the week’s critical and high advisories in the AI and data stack, with the fixed versions. Only in weeks that have some.

Double opt-in. Unsubscribe any time.