CVE-2024-35178 Overview
CVE-2024-35178 is an information disclosure vulnerability affecting Jupyter Server on Windows systems. This vulnerability enables unauthenticated attackers to leak the NTLMv2 password hash of the Windows user running the Jupyter server. Once obtained, attackers can crack this password to gain access to the Windows machine hosting the Jupyter server, access other network-accessible machines or third-party services using that credential, or perform NTLM relay attacks without cracking the credential to gain access to other network-accessible machines.
Critical Impact
Unauthenticated attackers can steal Windows NTLM credentials remotely, enabling lateral movement, credential cracking, and NTLM relay attacks across the network.
Affected Products
- Jupyter Server versions prior to 2.14.1
- Microsoft Windows (all versions running vulnerable Jupyter Server)
- Jupyter web applications using affected backend server
Discovery Timeline
- June 6, 2024 - CVE-2024-35178 published to NVD
- November 21, 2024 - Last updated in NVD database
Technical Details for CVE-2024-35178
Vulnerability Analysis
This vulnerability falls under CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor). The flaw exists in how Jupyter Server handles certain requests on Windows systems, allowing unauthenticated remote attackers to trigger the Windows NTLM authentication mechanism.
When exploited, the Jupyter Server inadvertently discloses the NTLMv2 password hash of the Windows user account under which the server process is running. This type of information leakage is particularly dangerous because NTLMv2 hashes can be used in multiple attack scenarios including offline password cracking, pass-the-hash attacks, and NTLM relay attacks.
The vulnerability requires no authentication, making it accessible to any attacker who can reach the Jupyter Server over the network. The attack can be initiated remotely with no user interaction required.
Root Cause
The root cause of this vulnerability lies in improper handling of authentication requests by Jupyter Server on Windows platforms. The server fails to properly sanitize or restrict certain operations that trigger Windows NTLM authentication challenges, allowing an attacker to coerce the server into sending NTLM authentication attempts to an attacker-controlled destination.
This is a Windows-specific issue as the NTLM authentication protocol is native to Windows operating systems. When the Jupyter Server receives specially crafted requests, it attempts to authenticate using NTLM, exposing the hash to potential capture.
Attack Vector
The attack vector is network-based and requires no privileges or user interaction. An attacker targeting a vulnerable Jupyter Server instance would typically:
- Identify a publicly accessible or network-reachable Jupyter Server running on Windows
- Send crafted requests designed to trigger NTLM authentication
- Capture the resulting NTLMv2 hash through an attacker-controlled server
- Use the captured hash for password cracking, pass-the-hash attacks, or NTLM relay attacks
The vulnerability mechanism involves exploiting how Windows handles UNC paths or similar constructs that trigger automatic NTLM authentication. When the Jupyter Server processes certain requests, it may attempt to access resources in a way that triggers the Windows NTLM authentication protocol, sending the user's hashed credentials over the network. For detailed technical information, see the GitHub Security Advisory.
Detection Methods for CVE-2024-35178
Indicators of Compromise
- Unusual outbound SMB (port 445) or NTLM authentication traffic from Jupyter Server hosts
- Network connections from Jupyter Server processes to unexpected external IP addresses
- Anomalous authentication failures or NTLM events in Windows Security logs
- Evidence of tools like Responder or ntlmrelayx being used against the network
Detection Strategies
- Monitor network traffic for outbound SMB connections originating from Jupyter Server processes
- Implement intrusion detection rules for NTLM authentication attempts to external networks
- Review Windows Security Event logs (Event IDs 4624, 4625, 4648) for anomalous authentication patterns
- Deploy behavioral analytics to detect credential theft attempts on data science infrastructure
Monitoring Recommendations
- Enable detailed logging on Jupyter Server instances and centralize logs to a SIEM
- Monitor for reconnaissance activity targeting Jupyter Server ports (commonly 8888)
- Implement network segmentation monitoring between data science environments and external networks
- Track changes to Jupyter Server configurations and version updates
How to Mitigate CVE-2024-35178
Immediate Actions Required
- Upgrade Jupyter Server to version 2.14.1 or later immediately
- Audit all Windows systems running Jupyter Server for exposure
- Restrict network access to Jupyter Server instances using firewall rules
- Consider rotating credentials for accounts running Jupyter Server processes
Patch Information
The vulnerability is fixed in Jupyter Server version 2.14.1. The security fix is available in commit 79fbf801c5908f4d1d9bc90004b74cfaaeeed2df. Organizations should update their Jupyter Server installations using their package manager:
pip install --upgrade jupyter-server>=2.14.1
For additional details, refer to the GitHub Security Advisory GHSA-hrw6-wg82-cm62.
Workarounds
- Restrict Jupyter Server network access to trusted networks only using host-based firewalls
- Block outbound SMB traffic (port 445) from Jupyter Server hosts to untrusted networks
- Run Jupyter Server under a dedicated service account with minimal privileges
- Consider deploying Jupyter Server on Linux platforms where NTLM vulnerabilities do not apply
# Configuration example: Block outbound SMB from Jupyter Server host
# Windows Firewall rule to prevent NTLM hash leakage
netsh advfirewall firewall add rule name="Block Outbound SMB" dir=out action=block protocol=tcp remoteport=445
# Alternatively, restrict Jupyter Server to localhost only
jupyter server --ip=127.0.0.1 --port=8888
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

