LiveActive security incident?Get immediate response
CVE Record

CVE-2022-29238: Forced Browsing in Jupyter Notebook

Jupyter Notebook is a web-based notebook environment for interactive computing. Prior to version 6.4.12, 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. Version 6.4.12 contains a patch for this issue. There are currently no known workarounds.

MediumCVSS 4.3Not KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

Authenticated Jupyter Notebook users could reach individual hidden files even when directory listings hid them. The issue matters when Notebook serves a directory containing sensitive hidden files, such as a home directory. It is not a broad unauthenticated breach, and the sources describe relatively low impact.

Executive priority

Prioritize normal patching for shared or multi-user notebook servers. Escalate if notebooks serve home directories or sensitive hidden configuration files. This is not sourced as actively exploited, but it can expose secrets to already authenticated users.

Technical view

Before Jupyter Notebook 6.4.12, ContentsManager.allow_hidden = False blocked listing hidden directories but did not prevent direct access to hidden files or files inside hidden directories. The weakness is forced browsing, CWE-425, requiring authenticated network access with low confidentiality impact and no stated integrity or availability impact.

Likely exposure

Exposure is most likely on Jupyter Notebook versions before 6.4.12 where authenticated users can access a server rooted at sensitive paths, especially home directories containing hidden files.

Exploitation context

The CVE source says fully authenticated requests are required. It also says this generally does not increase privileges because authenticated notebook users often already have server execution access. The bundle does not cite active exploitation or CISA KEV listing.

Researcher notes

The key boundary failure is hidden versus inaccessible. Validate configuration and deployment assumptions rather than assuming privilege escalation. Evidence is limited to the CVE and Jupyter advisory; no workaround is named, and exploit activity is not supported by the provided sources.

Mitigation direction

  • Upgrade Jupyter Notebook to version 6.4.12 or later.
  • Check current Jupyter vendor guidance for supported remediation details.
  • Avoid serving directories that contain sensitive hidden files.
  • Do not rely on hidden filenames as an access control boundary.
  • Restrict notebook authentication and user access to trusted users only.

Validation and detection

  • Inventory Jupyter Notebook deployments and record package versions.
  • Flag any Notebook version earlier than 6.4.12.
  • Review whether ContentsManager.allow_hidden is set to False.
  • Identify servers rooted at home directories or paths with hidden secrets.
  • Confirm authenticated user groups are appropriate for hosted files.
Prepared
Confidence
high
Sources
3

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · low confidence lookup

CWE-425: Exact CWE lookup

Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
description · low confidence lookup

Privilege behavior lookup

The CVE wording references privilege impact, so privilege escalation and authorization behavior review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2022-29238 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Medium
CVSS
4.3 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
0Timeline events
0ADP providers
2Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
4.3CVSS 3.1MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N2.81.4Primary CVE score

Vulnerability scoring details

Base CVSS 3.1 score

4.3Medium
CVSS 3.1 vector shape for CVE-2022-29238Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone

Source materials

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
jupyternotebook< 6.4.12Listed
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-425 · source CWE mapping

Direct Request ('Forced Browsing')

Direct Request ('Forced Browsing') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.