Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-10705

CVE-2026-10705: Dask HLL Handler DoS Vulnerability

CVE-2026-10705 is a denial of service flaw in Dask's HLL Handler that enables resource exhaustion attacks. This article covers the technical details, affected versions up to 3.0, security impact, and mitigation strategies.

Published:

CVE-2026-10705 Overview

CVE-2026-10705 is a resource consumption vulnerability in Dask versions up to 3.0. The flaw resides in the nunique_approx function within dask/dataframe/hyperloglog.py, part of the HyperLogLog (HLL) Handler component. An attacker with low privileges can trigger excessive resource usage remotely, although exploitation requires high attack complexity. The issue is classified under CWE-400: Uncontrolled Resource Consumption. A pull request to remediate the flaw is pending acceptance at the time of disclosure.

Critical Impact

Remote attackers can degrade Dask processing availability by triggering excessive resource consumption through the nunique_approx HyperLogLog function.

Affected Products

  • Dask versions up to and including 3.0
  • dask/dataframe/hyperloglog.py module
  • Applications relying on Dask DataFrame approximate distinct-count operations

Discovery Timeline

  • 2026-06-03 - CVE-2026-10705 published to NVD
  • 2026-06-03 - Last updated in NVD database

Technical Details for CVE-2026-10705

Vulnerability Analysis

Dask is a parallel computing library widely used for scaling Python analytics workloads. The vulnerability affects the nunique_approx function in dask/dataframe/hyperloglog.py, which implements the HyperLogLog probabilistic cardinality estimation algorithm. Manipulating input passed to this function causes uncontrolled resource consumption on the host executing the Dask computation.

The weakness maps to CWE-400: Uncontrolled Resource Consumption. Successful exploitation degrades availability of the Dask worker or scheduler processing the request but does not impact confidentiality or integrity.

Root Cause

The HyperLogLog handler in nunique_approx does not adequately bound the resources consumed when processing crafted inputs. When attacker-influenced data reaches the function, internal data structures or computation grow in a way that exhausts memory or CPU. The pending pull request #12401 on the Dask repository proposes the fix, with technical context tracked in issue #12403.

Attack Vector

The attack is remote and requires low privileges on the target system or service exposing Dask DataFrame operations. The attacker must influence data passed to nunique_approx, for example through a multi-tenant analytics platform, a notebook service, or an API that forwards user-controlled columns into Dask aggregations. The advisory notes that exploitation is difficult and requires a high degree of complexity.

No public exploit code is currently available. Refer to the VulDB entry for CVE-2026-10705 and the Dask repository for further technical details.

Detection Methods for CVE-2026-10705

Indicators of Compromise

  • Sustained CPU or memory spikes in Dask worker processes correlated with calls to nunique_approx on user-supplied columns.
  • Out-of-memory terminations or scheduler timeouts on Dask clusters processing untrusted DataFrame inputs.
  • Repeated long-running tasks invoking dask/dataframe/hyperloglog.py from a single tenant or session.

Detection Strategies

  • Instrument Dask worker telemetry to flag tasks that exceed expected runtime or memory thresholds for nunique_approx operations.
  • Log and review the source of DataFrame columns submitted to approximate distinct-count aggregations in multi-tenant environments.
  • Track Dask task graph metrics for anomalous fan-out or repeated invocations of the HLL handler from the same client.

Monitoring Recommendations

  • Forward Dask scheduler and worker logs to a centralized logging platform and alert on resource exhaustion patterns.
  • Set per-task and per-tenant resource quotas on Dask clusters and alert when quotas are repeatedly hit.
  • Monitor host-level memory pressure on machines running Dask workers to identify denial-of-service conditions early.

How to Mitigate CVE-2026-10705

Immediate Actions Required

  • Inventory all deployments running Dask 3.0 or earlier and identify services that expose nunique_approx to untrusted input.
  • Restrict who can submit DataFrame operations against Dask clusters, especially in shared or internet-facing deployments.
  • Apply resource limits (memory, CPU, task duration) to Dask workers to contain potential resource exhaustion.

Patch Information

No official patched release is available at the time of publication. The fix is tracked in Dask pull request #12401 and issue #12403, and is awaiting acceptance. Monitor the Dask repository for the release that incorporates this change and upgrade once available.

Workarounds

  • Avoid invoking nunique_approx on attacker-controlled columns until the upstream patch is merged and released.
  • Substitute approximate distinct-count operations with bounded alternatives or pre-validated inputs where feasible.
  • Enforce input size and cardinality limits before data reaches Dask DataFrame aggregations.
  • Isolate Dask workers per tenant to prevent a single abusive workload from degrading shared infrastructure.
bash
# Configuration example: constrain Dask worker resources to limit DoS impact
dask worker tcp://scheduler:8786 \
  --nworkers 4 \
  --nthreads 2 \
  --memory-limit 4GB \
  --death-timeout 60

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.