Skip to main content

Dask CVE-2026-10705

| EUVDEUVD-2026-34064 LOW
Uncontrolled Resource Consumption (CWE-400)
2026-06-03 VulDB GHSA-qp9q-4rh4-m8jc
2.3
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain low-privileged access to Dask cluster
  2. Delivery
    Analyze 32-bit HLL hash algorithm
  3. Exploit
    Engineer string values with predictable hash collisions
  4. Execution
    Submit malicious DataFrame invoking nunique_approx
  5. Persist
    Trigger partition hotspotting in shuffle layer
  6. Impact
    Exhaust worker node CPU and memory

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an authenticated attacker (PR:L confirmed by CVSS vector) with the ability to submit data for distributed computation through a Dask DataFrame workflow that invokes nunique_approx (e.g., dask.dataframe.Series.nunique() with approximate mode) or the shuffle path over string/object-typed columns. High attack complexity (AC:H) means the attacker must possess knowledge of Dask's 32-bit hashing algorithm and engineer specific input values to produce predictable hash collisions - this is non-trivial and requires pre-computation effort. Exploitation is further constrained to deployments where adversarial user input can reach the HLL or shuffle execution path; internal batch ETL pipelines operating on fully trusted data are not exploitable. Enabling the dataframe.shuffle.hash-key configuration to a random value eliminates the hash predictability that this attack depends on.

Impact

The CVSS 3.1 base score of 3.1 (Low) is well-supported by the vector components: network-accessible (AV:N) but high attack complexity (AC:H), requiring low privileges (PR:L), with only low availability impact (A:L) and no confidentiality or integrity impact. The report confidence is RC:R (Reasonable), meaning vendor confirmation is pending - the fix PR #12401 had not been merged at time of analysis. No EPSS score was provided, and there is no CISA KEV listing, no public exploit code, and exploit maturity is undefined (E:X). Real-world exploitation risk is narrow: it primarily threatens multi-tenant Dask analytics environments where untrusted users can submit arbitrary data for distributed DataFrame operations invoking nunique_approx. Organizations running Dask for internal batch ETL on trusted data sources face negligible practical risk. The AC:H requirement means exploitation is non-trivial and targeted, not opportunistic or automated.

Exploit ScenarioDerived

An attacker with low-privileged access to a multi-tenant Dask analytics environment submits a crafted DataFrame containing string values deliberately engineered - using knowledge of the predictable 32-bit hashing algorithm - to collide into the same HyperLogLog buckets or shuffle partitions during a nunique_approx operation. The collision causes specific worker nodes to receive disproportionately large partition workloads, spiking CPU and memory consumption and potentially causing task starvation or worker failure. No public proof-of-concept exploit code has been identified at time of analysis.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 03, 2026

Resource exhaustion in Dask up to version 3.0 allows authenticated remote attackers to trigger excessive resource consumption via the nunique_approx function in the HyperLogLog (HLL) handler component. The root cause is a HashDoS vulnerability - adversarially crafted string or object-type input values can be engineered to collide within the 32-bit hash space used for approximate distinct counting and shuffle partitioning, causing partition hotspotting and disproportionate CPU/memory load on worker nodes. No public exploit code exists at time of analysis, and the CVSS score of 3.1 (Low) with AC:H and A:L confirms limited real-world availability impact absent a targeted, high-complexity effort.

RemediationAI

The upstream fix is available as GitHub Pull Request #12401 (https://github.com/dask/dask/pull/12401), but this PR had not yet been merged into a tagged release at time of analysis - this constitutes an upstream fix available at PR/commit level with no independently confirmed patched release version. Monitor the Dask repository and upgrade promptly once a patched release is published. As an immediate compensating control, the proposed fix introduces the dataframe.shuffle.hash-key configuration option: set this to a random 16-character string via dask.config.set({'dataframe.shuffle.hash-key': '<random-16-char-string>'}) or via the dask.yaml configuration file to randomize hash outputs for string and object columns, directly mitigating HashDoS-style partition hotspotting. The trade-off is that enabling a custom hash key alters hash outputs and may affect determinism in reproducibility-sensitive or hash-order-dependent workflows. Advisory details are available via VulDB at https://vuldb.com/cve/CVE-2026-10705.

Affected VersionsENISA

dask 3.0

Affected Packages

euvd dask no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability resides in Dask's HyperLogLog (HLL) cardinality estimation implementation at dask/dataframe/hyperloglog.py, specifically the nunique_approx function used for approximate distinct counting in distributed DataFrames. Prior to the fix, the HLL algorithm operated on 32-bit hash values (via np.uint32), providing a hash space of approximately 4.3 billion possible values. CWE-400 (Uncontrolled Resource Consumption) applies because an attacker who controls string or object column inputs can engineer values that collide into identical HLL buckets or shuffle partitions, causing disproportionate processing load. The PR diff confirms a dual fix: upgrading hash computation from 32-bit to 64-bit (np.uint64) to drastically expand the collision-resistant hash space, and introducing a configurable dataframe.shuffle.hash-key option that passes a randomized key to pd.util.hash_pandas_object for string/object columns, neutralizing adversarial hash prediction. CPE data cpe:2.3:a:n/a:dask:*:*:*:*:*:*:*:* covers all Dask versions up to 3.0.

Know when Dask gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulDB) PRIMARY 2.3 LOW
CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
SUSE 2.1 LOW
AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
High
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
CVSS changed
Jun 03, 2026 - 02:22 NVD
3.1 (LOW) 2.3 (LOW)

DescriptionCVE.org

A flaw has been found in dask up to 3.0. Affected by this issue is the function nunique_approx of the file dask/dataframe/hyperloglog.py of the component HLL Handler. This manipulation causes resource consumption. The attack is possible to be carried out remotely. A high degree of complexity is needed for the attack. The exploitation is known to be difficult. The pull request to fix this issue awaits acceptance.

Threat Intelligence Overview

EPSS Score
0.0%
Top 85% exploitable
Social Media
1
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

12
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +12
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Vendor StatusVendor

SUSE

Severity: Low

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy