CVE-2024-41676: Magento LTS vulnerable to stored Cross-site Scripting (XSS) in admin system configs
Impact
This XSS vulnerability is about the system configs design/header/welcome design/header/logosrc design/header/logosrcsmall design/header/logoalt
They are intended to enable admins to set a text in the two cases, and to define an image url for the other two cases. But because of previously missing escaping allowed to input arbitrary html and as a consequence also arbitrary JavaScript.
While this is in most usage scenarios not a relevant issue, some people work with more restrictive roles in the backend. Here the ability to inject JavaScript with these settings would be an unintended and unwanted privilege.
Patches Has the problem been patched? What versions should users upgrade to?
The problem is patched with Version 20.10.1 or higher.
Workarounds Is there a way for users to fix or remediate the vulnerability without upgrading?
Possible mitigations are Restricting access to the System Configs checking templates where these settings are used to apply proper html filtering
For Users relying on this possibility
Some Users might actually rely on the ability to use html there. You can restore the previous behavior by making use of the new introduced ->getUnescapedValue() method on this escaped elements. Developers should have a look at the newly introduced MageCoreModelSecurityHtmlEscapedString
Credit
Credit goes to Aakash Adhikari @justlife4x4 for finding this issue
Other sources
Magento LTS vulnerable to stored Cross-site Scripting (XSS) in admin system configs
— Packagist
Magento-lts is a long-term support alternative to Magento Community Edition (CE). This XSS vulnerability affects the design/header/welcome, design/header/logosrc, design/header/logosrcsmall, and design/header/logoalt system configs.They are intended to enable admins to set a text in the two cases, and to define an image url for the other two cases. But because of previously missing escaping allowed to input arbitrary html and as a consequence also arbitrary JavaScript. The problem is patched with Version 20.10.1 or higher.
— NVD
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
composer/openmage/magento-ltsto a version that resolves this vulnerability.Fixed in 20.10.1 - Upgrade
Upgrade
Magento LTSto a version that resolves this vulnerability.Fixed in 20.10.1 - Compensating control
Restrict access to the System Configs, especially design/header/welcome, design/header/logo_src, design/header/logo_src_small, and design/header/logo_alt.
- Compensating control
Check templates where design/header/welcome, design/header/logo_src, design/header/logo_src_small, and design/header/logo_alt are used, and apply proper HTML filtering.
- Compensating control
If preserving the previous unescaped behavior is required, developers can use the introduced getUnescapedValue() method on the escaped elements.
Event History
Frequently Asked Questions
What is the severity of CVE-2024-41676?
CVE-2024-41676 is classified as a cross-site scripting (XSS) vulnerability affecting OpenMage Magento LTS versions up to 20.10.1.
How do I fix CVE-2024-41676?
To fix CVE-2024-41676, administrators should upgrade to the latest version of OpenMage Magento LTS that addresses this XSS vulnerability.
What software is affected by CVE-2024-41676?
CVE-2024-41676 affects OpenMage Magento LTS versions up to 20.10.1.
What are the potential impacts of CVE-2024-41676?
The potential impacts of CVE-2024-41676 include unauthorized access and execution of scripts that can compromise user data or session.
Who can be exploited by CVE-2024-41676?
CVE-2024-41676 can be exploited by attackers who can manipulate the system's configurations through XSS in the specified header settings.