CVE-2024-21485: Cross-site Scripting (XSS) in dash-core-components
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.
AI Analysis
Technical Summary
CVE-2024-21485 is a Cross-site Scripting (XSS) vulnerability affecting multiple versions of the dash-core-components package, as well as related packages dash and dash-html-components. Specifically, versions of dash-core-components before 2.13.0, dash-core-components before 2.0.0, dash before 2.15.0, and dash-html-components before 2.0.16 are vulnerable. The vulnerability arises when the href attribute of an anchor (<a>) tag is controlled by an attacker. An authenticated attacker who can store a malicious view exploiting this vulnerability can cause other users who load that view to execute arbitrary scripts in their browsers. This can lead to theft of visible data on the page, and potentially additional data accessible to the user by making further requests. Critically, the attacker may also steal access tokens, enabling them to impersonate the victim user and access other applications and resources hosted on the same server. The vulnerability is only exploitable in Dash applications that implement a mechanism to store user input for later retrieval by other users, such as shared dashboards or collaborative views. The CVSS 3.1 base score is 6.5 (medium severity), reflecting network attack vector, high attack complexity, low privileges required, and user interaction needed. The scope is changed, with high confidentiality impact, low integrity impact, and no availability impact. No known exploits are currently reported in the wild. This vulnerability is classified under CWE-79 (Improper Neutralization of Input During Web Page Generation).
Potential Impact
For European organizations using Dash to build interactive web applications, this vulnerability poses a significant risk to confidentiality and user trust. If exploited, attackers can steal sensitive data visible to users, including potentially personal or business-critical information. The ability to steal access tokens and impersonate users could lead to unauthorized access to other internal applications and resources hosted on the same infrastructure, amplifying the damage. This is particularly concerning for organizations in regulated sectors such as finance, healthcare, and government, where data protection and privacy are paramount under GDPR and other regulations. The requirement for authenticated access and stored user input limits the attack surface but does not eliminate risk in collaborative or multi-user Dash apps. The medium severity rating suggests that while exploitation is not trivial, the potential for data leakage and session hijacking can have serious consequences, including reputational damage, regulatory penalties, and operational disruption.
Mitigation Recommendations
1. Upgrade all affected Dash-related packages to the fixed versions: dash-core-components to 2.13.0 or later, dash to 2.15.0 or later, and dash-html-components to 2.0.16 or later. 2. Review application logic to minimize or eliminate storing user input that can be rendered in views accessible by other users, or implement strict input validation and sanitization to prevent injection of malicious scripts. 3. Employ Content Security Policy (CSP) headers to restrict the execution of unauthorized scripts and reduce the impact of potential XSS attacks. 4. Implement strict access controls and session management to limit the scope of token theft, including short-lived tokens and multi-factor authentication. 5. Conduct thorough security testing, including manual and automated XSS testing, especially on features that allow user-generated content to be stored and shared. 6. Monitor application logs and user activity for unusual behavior that could indicate exploitation attempts. 7. Educate developers on secure coding practices specific to Dash and web application frameworks to prevent similar vulnerabilities.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden, Italy, Spain, Belgium
CVE-2024-21485: Cross-site Scripting (XSS) in dash-core-components
Description
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.
AI-Powered Analysis
Technical Analysis
CVE-2024-21485 is a Cross-site Scripting (XSS) vulnerability affecting multiple versions of the dash-core-components package, as well as related packages dash and dash-html-components. Specifically, versions of dash-core-components before 2.13.0, dash-core-components before 2.0.0, dash before 2.15.0, and dash-html-components before 2.0.16 are vulnerable. The vulnerability arises when the href attribute of an anchor (<a>) tag is controlled by an attacker. An authenticated attacker who can store a malicious view exploiting this vulnerability can cause other users who load that view to execute arbitrary scripts in their browsers. This can lead to theft of visible data on the page, and potentially additional data accessible to the user by making further requests. Critically, the attacker may also steal access tokens, enabling them to impersonate the victim user and access other applications and resources hosted on the same server. The vulnerability is only exploitable in Dash applications that implement a mechanism to store user input for later retrieval by other users, such as shared dashboards or collaborative views. The CVSS 3.1 base score is 6.5 (medium severity), reflecting network attack vector, high attack complexity, low privileges required, and user interaction needed. The scope is changed, with high confidentiality impact, low integrity impact, and no availability impact. No known exploits are currently reported in the wild. This vulnerability is classified under CWE-79 (Improper Neutralization of Input During Web Page Generation).
Potential Impact
For European organizations using Dash to build interactive web applications, this vulnerability poses a significant risk to confidentiality and user trust. If exploited, attackers can steal sensitive data visible to users, including potentially personal or business-critical information. The ability to steal access tokens and impersonate users could lead to unauthorized access to other internal applications and resources hosted on the same infrastructure, amplifying the damage. This is particularly concerning for organizations in regulated sectors such as finance, healthcare, and government, where data protection and privacy are paramount under GDPR and other regulations. The requirement for authenticated access and stored user input limits the attack surface but does not eliminate risk in collaborative or multi-user Dash apps. The medium severity rating suggests that while exploitation is not trivial, the potential for data leakage and session hijacking can have serious consequences, including reputational damage, regulatory penalties, and operational disruption.
Mitigation Recommendations
1. Upgrade all affected Dash-related packages to the fixed versions: dash-core-components to 2.13.0 or later, dash to 2.15.0 or later, and dash-html-components to 2.0.16 or later. 2. Review application logic to minimize or eliminate storing user input that can be rendered in views accessible by other users, or implement strict input validation and sanitization to prevent injection of malicious scripts. 3. Employ Content Security Policy (CSP) headers to restrict the execution of unauthorized scripts and reduce the impact of potential XSS attacks. 4. Implement strict access controls and session management to limit the scope of token theft, including short-lived tokens and multi-factor authentication. 5. Conduct thorough security testing, including manual and automated XSS testing, especially on features that allow user-generated content to be stored and shared. 6. Monitor application logs and user activity for unusual behavior that could indicate exploitation attempts. 7. Educate developers on secure coding practices specific to Dash and web application frameworks to prevent similar vulnerabilities.
Affected Countries
For access to advanced analysis and higher rate limits, contact root@offseq.com
Technical Details
- Data Version
- 5.1
- Assigner Short Name
- snyk
- Date Reserved
- 2023-12-22T12:33:20.117Z
- Cisa Enriched
- true
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 682cd0fa1484d88663aec2db
Added to database: 5/20/2025, 6:59:06 PM
Last enriched: 7/4/2025, 6:27:44 PM
Last updated: 8/15/2025, 6:54:35 PM
Views: 17
Related Threats
CVE-2025-9088: Stack-based Buffer Overflow in Tenda AC20
HighCVE-2025-9087: Stack-based Buffer Overflow in Tenda AC20
HighCVE-2025-8878: CWE-94 Improper Control of Generation of Code ('Code Injection') in properfraction Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress
MediumCVE-2025-8143: CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in pencidesign Soledad
MediumCVE-2025-8142: CWE-98 Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion') in pencidesign Soledad
HighActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.