Skip to main content
Press slash or control plus K to focus the search. Use the arrow keys to navigate results and press enter to open a threat.
Reconnecting to live updates…

CVE-2026-23528: CWE-80: Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS) in dask distributed

0
Medium
VulnerabilityCVE-2026-23528cvecve-2026-23528cwe-80cwe-250cwe-79
Published: Fri Jan 16 2026 (01/16/2026, 16:44:28 UTC)
Source: CVE Database V5
Vendor/Project: dask
Product: distributed

Description

Dask distributed is a distributed task scheduler for Dask. Prior to 2026.1.0, when Jupyter Lab, jupyter-server-proxy, and Dask distributed are all run together, it is possible to craft a URL which will result in code being executed by Jupyter due to a cross-side-scripting (XSS) bug in the Dask dashboard. It is possible for attackers to craft a phishing URL that assumes Jupyter Lab and Dask may be running on localhost and using default ports. If a user clicks on the malicious link it will open an error page in the Dask Dashboard via the Jupyter Lab proxy which will cause code to be executed by the default Jupyter Python kernel. This vulnerability is fixed in 2026.1.0.

AI-Powered Analysis

AILast updated: 01/16/2026, 17:21:07 UTC

Technical Analysis

CVE-2026-23528 is a cross-site scripting (XSS) vulnerability classified under CWE-80, CWE-79, and CWE-250, found in the Dask distributed task scheduler prior to version 2026.1.0. The vulnerability manifests when Dask distributed is used in conjunction with Jupyter Lab and jupyter-server-proxy, common in data science and distributed computing environments. An attacker can craft a specially constructed URL that targets the Dask dashboard proxied through Jupyter Lab. When a user clicks this URL, it opens an error page in the Dask dashboard that improperly sanitizes HTML content, allowing malicious scripts to execute in the context of the Jupyter Lab interface. This leads to execution of arbitrary code in the default Jupyter Python kernel without requiring authentication, relying solely on user interaction. The root cause is improper neutralization of script-related HTML tags, enabling injection of executable code. The vulnerability has a CVSS 4.0 base score of 5.3, reflecting medium severity due to network attack vector, low complexity, no privileges or authentication required, but requiring user interaction. While no known exploits are reported in the wild, the potential for phishing attacks targeting users running these tools locally is significant. The issue is resolved in Dask distributed version 2026.1.0 by correcting the input sanitization in the dashboard error page.

Potential Impact

For European organizations, especially those engaged in scientific research, data analytics, and distributed computing using Dask and Jupyter Lab, this vulnerability poses a risk of unauthorized code execution on developer or analyst machines. Successful exploitation could lead to compromise of sensitive data processed within Jupyter notebooks, unauthorized access to internal systems if pivoting is possible, and potential disruption of workflows. Since the attack vector involves phishing URLs targeting localhost services, the impact is primarily on end users who run these tools with default configurations. Confidentiality and integrity of data and code can be compromised, but availability impact is minimal. Organizations with remote or hybrid work environments may see increased risk due to phishing attack surfaces. The vulnerability could also be leveraged as a foothold for further lateral movement if combined with other vulnerabilities or misconfigurations.

Mitigation Recommendations

European organizations should immediately upgrade Dask distributed to version 2026.1.0 or later to apply the fix. Additionally, organizations should enforce best practices such as disabling default ports or restricting access to Jupyter Lab and Dask dashboards via network controls or VPNs. Educate users to be cautious of unsolicited URLs, especially those targeting localhost services. Implement Content Security Policy (CSP) headers where possible to restrict script execution in web interfaces. Regularly audit and monitor logs for unusual access patterns to Jupyter and Dask dashboards. Consider isolating Jupyter and Dask environments using containerization or virtual machines to limit impact of potential exploitation. Finally, review and harden proxy configurations to prevent unauthorized access to internal dashboards.

Need more detailed analysis?Upgrade to Pro Console

Technical Details

Data Version
5.2
Assigner Short Name
GitHub_M
Date Reserved
2026-01-13T18:22:43.981Z
Cvss Version
4.0
State
PUBLISHED

Threat ID: 696a701db22c7ad868c0d10d

Added to database: 1/16/2026, 5:06:37 PM

Last enriched: 1/16/2026, 5:21:07 PM

Last updated: 1/16/2026, 10:00:46 PM

Views: 6

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need more coverage?

Upgrade to Pro Console in Console -> Billing for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats