Versions of the package dash-core-components before 2.13.0; versions of the package dash-core-components before 2.0.0; versions of the package dash before 2.15.0; versions of the package dash-html-components before 2.0.0; versions of the package dash-html-components before 2.0.16 are vulnerable to Cross-site Scripting (XSS) when the href of the a tag is controlled by an adversary. An authenticated attacker who stores a view that exploits this vulnerability could steal the data that's visible to another user who opens that view - not just the data already included on the page, but they could also, in theory, make additional requests and access other data accessible to this user. In some cases, they could also steal the access tokens of that user, which would allow the attacker to act as that user, including viewing other apps and resources hosted on the same server. Note: This is only exploitable in Dash apps that include some mechanism to store user input to be reloaded by a different user.
CVE-2024-21485
This medium-severity CVE scores 6.5 under NVD CVSS v3. EPSS exploit probability: 0.9%, top 24% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).
- Lower severity and no public exploit yet
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 6.5
- EG Score
- 6.5(medium)
- EPSS
- 70.8%
- KEV
- Not listed
Published
February 2, 2024
Last Modified
May 15, 2025
References (18)
- report@snykhttps://github.com/plotly/dash/commit/9920073c9a8619ae8f90fcec1924f2f3a4332a8c
- report@snykhttps://github.com/plotly/dash/issues/2729
- report@snykhttps://github.com/plotly/dash/pull/2732
- report@snykhttps://github.com/plotly/dash/releases/tag/v2.15.0
- report@snykhttps://security.snyk.io/vuln/SNYK-JS-DASHCORECOMPONENTS-6183084
- report@snykhttps://security.snyk.io/vuln/SNYK-JS-DASHHTMLCOMPONENTS-6226337
- report@snykhttps://security.snyk.io/vuln/SNYK-PYTHON-DASH-6226335
- report@snykhttps://security.snyk.io/vuln/SNYK-PYTHON-DASHCORECOMPONENTS-6226334
- report@snykhttps://security.snyk.io/vuln/SNYK-PYTHON-DASHHTMLCOMPONENTS-6226336
- af854a3a-2127-422b-91ae-364da2661108https://github.com/plotly/dash/commit/9920073c9a8619ae8f90fcec1924f2f3a4332a8c
- af854a3a-2127-422b-91ae-364da2661108https://github.com/plotly/dash/issues/2729
- af854a3a-2127-422b-91ae-364da2661108https://github.com/plotly/dash/pull/2732
- af854a3a-2127-422b-91ae-364da2661108https://github.com/plotly/dash/releases/tag/v2.15.0
- af854a3a-2127-422b-91ae-364da2661108https://security.snyk.io/vuln/SNYK-JS-DASHCORECOMPONENTS-6183084
- af854a3a-2127-422b-91ae-364da2661108https://security.snyk.io/vuln/SNYK-JS-DASHHTMLCOMPONENTS-6226337
Affected Packages
(5 across 2 ecosystems)
PyPI(3)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| dash | 0.0.0 ... v0.18.0 (207 versions) | 2.15.0 | — |
| dash-core-components | 0.1.1 ... 2.0.0rc1 (213 versions) | 2.0.0 | — |
| dash-html-components | 0.10.0 ... 2.0.0rc1 (70 versions) | 2.0.0 | — |
npm(2)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| dash-core-components | — | 2.13.0 | — |
| dash-html-components | — | 2.0.16 | — |
Weakness Classification(1)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 10× in last 7d / 48× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
- 2026-07-12 05:45 UTCEPSS rescore
- 2026-07-11 08:26 UTCEPSS rescore
- 2026-07-09 19:09 UTCEPSS rescore
- 2026-07-09 19:09 UTCEPSS rescore
- 2026-07-08 15:13 UTCEPSS rescore
- 2026-07-07 13:45 UTCEPSS rescore
- 2026-07-07 13:45 UTCEPSS rescore
- 2026-07-06 16:26 UTCEPSS rescore
- 2026-07-06 02:22 UTCEPSS rescore
- 2026-07-06 02:22 UTCEPSS rescore
- 2026-07-05 02:29 UTCEPSS rescore
- 2026-07-04 06:30 UTCEPSS rescore
- 2026-07-01 15:05 UTCEPSS rescore
- 2026-06-30 23:21 UTCEPSS rescore
- 2026-06-30 23:21 UTCEPSS rescore
- 2026-06-29 14:05 UTCEPSS rescore
- 2026-06-28 14:06 UTCEPSS rescore
- 2026-06-28 14:06 UTCEPSS rescore
- 2026-06-28 04:55 UTCEPSS rescore
- 2026-06-28 04:55 UTCEPSS rescore
- 2026-06-27 03:07 UTCEPSS rescore
- 2026-06-27 03:07 UTCEPSS rescore
- 2026-06-26 22:07 UTCOSV refresh
- 2026-06-25 13:48 UTCEPSS rescore
- 2026-06-25 13:48 UTCEPSS rescore
Show 63 moreShow fewer
- 2026-06-24 14:04 UTCEPSS rescore
- 2026-06-24 14:04 UTCEPSS rescore
- 2026-06-23 21:32 UTCEPSS rescore
- 2026-06-23 21:32 UTCEPSS rescore
- 2026-06-22 14:24 UTCEPSS rescore
- 2026-06-22 14:24 UTCEPSS rescore
- 2026-06-21 14:55 UTCEPSS rescore
- 2026-06-21 14:55 UTCEPSS rescore
- 2026-06-21 01:58 UTCEPSS rescore
- 2026-06-21 01:58 UTCEPSS rescore
- 2026-06-19 19:24 UTCEPSS rescore
- 2026-06-19 19:24 UTCEPSS rescore
- 2026-06-18 17:51 UTCEPSS rescore
- 2026-06-18 17:51 UTCEPSS rescore
- 2026-06-17 17:52 UTCEPSS rescore
- 2026-06-17 17:52 UTCEPSS rescore
- 2026-06-16 17:51 UTCEPSS rescore
- 2026-06-16 17:51 UTCEPSS rescore
- 2026-06-15 17:47 UTCEPSS rescore
- 2026-06-14 23:16 UTCEPSS rescore
- 2026-06-13 22:59 UTCEPSS rescore
- 2026-06-13 22:59 UTCEPSS rescore
- 2026-06-12 23:11 UTCEPSS rescore
- 2026-06-11 13:59 UTCEPSS rescore
- 2026-06-11 13:59 UTCEPSS rescore
- 2026-06-10 22:17 UTCEPSS rescore
- 2026-06-10 13:21 UTCEPSS rescore
- 2026-06-10 13:21 UTCEPSS rescore
- 2026-06-09 09:00 UTCOSV refresh
- 2026-06-08 14:16 UTCEPSS rescore
- 2026-06-08 14:16 UTCEPSS rescore
- 2026-06-07 15:24 UTCEPSS rescore
- 2026-06-07 15:24 UTCEPSS rescore
- 2026-06-06 13:46 UTCEPSS rescore
- 2026-06-06 13:46 UTCEPSS rescore
- 2026-06-05 22:46 UTCEPSS rescore
- 2026-06-05 22:46 UTCEPSS rescore
- 2026-06-05 06:09 UTCEPSS rescore
- 2026-06-05 06:09 UTCEPSS rescore
- 2026-06-04 13:11 UTCEPSS rescore
- 2026-06-04 13:11 UTCEPSS rescore
- 2026-06-04 13:11 UTCEPSS rescore
- 2026-06-02 20:12 UTCEPSS rescore
- 2026-06-02 20:12 UTCEPSS rescore
- 2026-06-01 13:51 UTCEPSS rescore
- 2026-06-01 13:51 UTCEPSS rescore
- 2026-06-01 13:51 UTCEPSS rescore
- 2026-05-31 22:30 UTCEPSS rescore
- 2026-05-31 22:30 UTCEPSS rescore
- 2026-05-31 00:15 UTCEPSS rescore
- 2026-05-31 00:15 UTCEPSS rescore
- 2026-05-29 13:43 UTCEPSS rescore
- 2026-05-29 13:43 UTCEPSS rescore
- 2026-05-28 13:44 UTCEPSS rescore
- 2026-05-28 13:44 UTCEPSS rescore
- 2026-05-28 13:44 UTCEPSS rescore
- 2026-05-27 13:40 UTCEPSS rescore
- 2026-05-27 13:40 UTCEPSS rescore
- 2026-05-26 13:43 UTCEPSS rescore
- 2026-05-26 13:43 UTCEPSS rescore
- 2026-05-26 07:18 UTCEPSS rescore
- 2026-05-26 07:18 UTCEPSS rescore
- 2026-05-24 09:17 UTCEG score recompute
Publicly available exploits
(1 reference)Working exploit code is in the public domain. Defenders should treat patch urgency accordingly — public PoCs typically lead to mass-exploitation within 24-72 hours.
- Nucleihttp/cves/2024/CVE-2024-21485.yamlFirst seen Jan 1, 2024
Dash Framework - Cross-site Scripting
Open source ↗
Related CVEs(same CWE)
Frequently asked(5)
What is CVE-2024-21485?
When was CVE-2024-21485 disclosed?
Is CVE-2024-21485 actively exploited?
What is the CVSS score of CVE-2024-21485?
How do I remediate CVE-2024-21485?
Dependency Blast Radius
See which npm, PyPI, Go, and Maven packages are affected by CVE-2024-21485
Is Your Infrastructure Affected by CVE-2024-21485?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.