CVE-2021-42343
Workers for local Dask clusters mistakenly listened on public interfaces
Impact
Versions of `distributed` earlier than `2021.10.0` had a potential security vulnerability relating to single-machine Dask clusters. Clusters started with `dask.distributed.LocalCluster` or `dask.distributed.Client()` (which defaults to using `LocalCluster`) would mistakenly configure their respective Dask workers to listen on external interfaces (typically with a randomly selected high port) rather than only on `localhost`. A Dask cluster created using this method AND running on a machine that has these ports exposed could be used by a sophisticated attacker to enable remote code execution. Users running on machines with standard firewalls in place, or using clusters created via cluster objects other than `LocalCluster` (e.g. `dask_kubernetes.KubeCluster`) should not be affected. This vulnerability is documented in CVE-2021-42343, and was fixed in version `2021.10.0` (PR #5427).
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | distributed | >= 0, < 2021.10.0 | 2021.10.0 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Anaconda | Dask | before 2021.10.0 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://docs.dask.org/en/latest/changelog.html
- https://github.com/dask/dask/tags
- https://github.com/dask/distributed/security/advisories/GHSA-hwqr-f3v9-hwxr
- https://github.com/advisories/GHSA-hwqr-f3v9-hwxr
- https://github.com/pypa/advisory-database/tree/main/vulns/distributed/PYSEC-2021-871.yaml
- https://github.com/pypa/advisory-database/tree/main/vulns/distributed/PYSEC-2021-872.yaml
- https://github.com/dask/distributed/pull/5427
- https://github.com/dask/distributed/commit/afce4be8e05fb180e50a9d9e38465f1a82295e1b
- https://nvd.nist.gov/vuln/detail/CVE-2021-42343