dask.distributed — security advisory
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.
- Products
- dask.distributed
- Affected versions
- 1.18.0+ds.1-1, 1.20.2+ds.1-1, 1.20.2+ds.1-2, 1.25.0+ds.1-1, 2021.01.0+ds.1-2.1, 2021.09.1+ds.1-3, 2022.01.0+ds.1-1, 2023.12.1+ds-3, 2023.12.1+ds-4, 2023.8.0+ds.1-1, 2024.12.1+ds-1, 2024.12.1+ds-2, 2024.12.1+ds-3
- Fixed versions
- Not specified
- CVEs
- CVE-2026-23528
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 02:42 UTC · Revision 1
Source evidence
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.
osv:UBUNTU-CVE-2026-23528
dask.distributed
Fixed versions: Not specified
dask.distributed
Fixed versions: Not specified
dask.distributed
Fixed versions: Not specified
dask.distributed
Fixed versions: Not specified
dask.distributed
Fixed versions: Not specified
dask.distributed
Fixed versions: Not specified
dask.distributed
Fixed versions: Not specified
Complete source record
{
"id": "38adc61a6d1adc706c80b60198aa65db280df6d6be19b7c4f120bba18ec235c5",
"url": "https://osv.dev/vulnerability/UBUNTU-CVE-2026-23528",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "UBUNTU-CVE-2026-23528",
"summary": "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.",
"evidence": "osv:UBUNTU-CVE-2026-23528",
"products": [
{
"name": {
"value": "dask.distributed",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.18.0+ds.1-1",
"evidence": "/affected/0/versions"
},
{
"value": "1.20.2+ds.1-1",
"evidence": "/affected/0/versions"
},
{
"value": "1.20.2+ds.1-2",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "dask.distributed",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.25.0+ds.1-1",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "dask.distributed",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2021.01.0+ds.1-2.1",
"evidence": "/affected/2/versions"
},
{
"value": "2021.09.1+ds.1-3",
"evidence": "/affected/2/versions"
},
{
"value": "2022.01.0+ds.1-1",
"evidence": "/affected/2/versions"
}
]
},
{
"name": {
"value": "dask.distributed",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2023.8.0+ds.1-1",
"evidence": "/affected/3/versions"
},
{
"value": "2023.12.1+ds-3",
"evidence": "/affected/3/versions"
},
{
"value": "2023.12.1+ds-4",
"evidence": "/affected/3/versions"
}
]
},
{
"name": {
"value": "dask.distributed",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2024.12.1+ds-1",
"evidence": "/affected/4/versions"
}
]
},
{
"name": {
"value": "dask.distributed",
"evidence": "/affected/5/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2024.12.1+ds-1",
"evidence": "/affected/5/versions"
},
{
"value": "2024.12.1+ds-2",
"evidence": "/affected/5/versions"
},
{
"value": "2024.12.1+ds-3",
"evidence": "/affected/5/versions"
}
]
},
{
"name": {
"value": "dask.distributed",
"evidence": "/affected/6/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2024.12.1+ds-1",
"evidence": "/affected/6/versions"
}
]
}
],
"severity": "medium",
"structured": {
"id": "UBUNTU-CVE-2026-23528",
"aliases": [
"UBUNTU-CVE-2026-23528"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N"
},
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
},
{
"type": "Ubuntu",
"score": "medium"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "dask.distributed",
"purl": "pkg:deb/ubuntu/dask.distributed?arch=source&distro=bionic",
"ecosystem": "Ubuntu:18.04:LTS"
},
"versions": [
"1.18.0+ds.1-1",
"1.20.2+ds.1-1",
"1.20.2+ds.1-2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-23528.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-distributed",
"binary_version": "1.20.2+ds.1-2"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "dask.distributed",
"purl": "pkg:deb/ubuntu/dask.distributed?arch=source&distro=focal",
"ecosystem": "Ubuntu:20.04:LTS"
},
"versions": [
"1.25.0+ds.1-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-23528.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-distributed",
"binary_version": "1.25.0+ds.1-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "dask.distributed",
"purl": "pkg:deb/ubuntu/dask.distributed?arch=source&distro=jammy",
"ecosystem": "Ubuntu:22.04:LTS"
},
"versions": [
"2021.01.0+ds.1-2.1",
"2021.09.1+ds.1-3",
"2022.01.0+ds.1-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-23528.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-distributed",
"binary_version": "2022.01.0+ds.1-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "dask.distributed",
"purl": "pkg:deb/ubuntu/dask.distributed?arch=source&distro=noble",
"ecosystem": "Ubuntu:24.04:LTS"
},
"versions": [
"2023.8.0+ds.1-1",
"2023.12.1+ds-3",
"2023.12.1+ds-4"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-23528.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-distributed",
"binary_version": "2023.12.1+ds-4"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "dask.distributed",
"purl": "pkg:deb/ubuntu/dask.distributed?arch=source&distro=questing",
"ecosystem": "Ubuntu:25.10"
},
"versions": [
"2024.12.1+ds-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-23528.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-distributed",
"binary_version": "2024.12.1+ds-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "dask.distributed",
"purl": "pkg:deb/ubuntu/dask.distributed?arch=source&distro=stonking",
"ecosystem": "Ubuntu:26.10"
},
"versions": [
"2024.12.1+ds-1",
"2024.12.1+ds-2",
"2024.12.1+ds-3"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-23528.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-distributed",
"binary_version": "2024.12.1+ds-3"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "dask.distributed",
"purl": "pkg:deb/ubuntu/dask.distributed?arch=source&distro=resolute",
"ecosystem": "Ubuntu:26.04:LTS"
},
"versions": [
"2024.12.1+ds-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-23528.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-distributed",
"binary_version": "2024.12.1+ds-1"
}
]
}
}
],
"modified": "2026-10-17T12:58:47.847369780Z",
"provider": "osv",
"upstream": [
"CVE-2026-23528"
],
"references": [
"https://ubuntu.com/security/CVE-2026-23528",
"https://www.cve.org/CVERecord?id=CVE-2026-23528",
"https://github.com/dask/distributed/commit/ab72092a8a938923c2bb51a2cd14ca26614827fa",
"https://github.com/dask/distributed/security/advisories/GHSA-c336-7962-wfj2"
]
},
"related_cves": [
{
"value": "CVE-2026-23528",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/1/score"
},
"source_id": "core-osv",
"document_id": 359062,
"published_at": "2026-01-16T17:15:00+00:00"
}