=======================================================================
title: Reflected Cross-Site Scripting (XSS)
product: Adobe Magento Commerce
vulnerable version: < 2.4.2
fixed version: 2.4.2
CVE number: CVE-2021-21029
impact: Medium
homepage: https://magento.com/
found: 2020-06-29
by: Natsasit Jirathammanuwat (Office Thailand)
SEC Consult Vulnerability Lab
An integrated part of SEC Consult, an Atos company
Europe | Asia | North America
https://www.sec-consult.com
=======================================================================
Vendor description:
-------------------
"Magento Commerce, offers a one-of-a-kind eCommerce solution
with
enterprise power, unlimited scalability, and open-source
flexibility
for B2C and B2B experiences. Magento allows you to create
unique,
full-lifecycle customer experiences proven to generate more
sales.
No matter what your company’s size or goals — omnichannel,
global
expansion, mobile — Magento delivers everything you need for
growth
in an increasingly competitive market."
Source: https://magento.com/products
Business recommendation:
------------------------
Update to the latest version of Adobe Magento Commerce.
An in-depth security analysis performed by security
professionals is highly
advised, as the software may be affected from further security
issues.
Vulnerability overview/description:
-----------------------------------
1) Reflected Cross-Site Scripting (XSS) (CVE-2021-21029)
This vulnerability allows an unauthenticated user to inject
malicious
client side script into the URL and send to the victim. The browser
may
redirect the victim (e.g. admin) to the frontend page when visiting
the URL,
the script will be executed after the victim visits the admin panel
again.
This vulnerability has two different scenarios:
1. Security configuration "Add Secret Key to URLs" is enabled
(default).
- Admin panel path is required.
- Key value (secret hash) in the URL is required.
- User interaction is required (navigate back to the admin
panel).
2. Security configuration "Add Secret Key to URLs" is
disabled.
- Admin panel path is required.
- User interaction is required (navigate back to the admin
panel).
Proof of concept:
-----------------
1) Reflected Cross-Site Scripting (XSS) (CVE-2021-21029)
The "file" parameter is vulnerable to reflected cross-site
scripting
vulnerability. By sending the XSS payload in the Base64 encoded
format
in the URL as follows:
1. Security configuration "Add Secret Key to URLs" is enabled
(default).
URL format:
https://{baseURL}/{adminPath}/admin/system_design_theme/downloadCss/theme_id/{themeID}/file/{base64encoded_xss_payload}/key/{secret_hash}
Example URL:
https://127.0.0.1/index.php/admin/admin/system_design_theme/downloadCss/theme_id/1/file/PHNjcmlwdD5hbGVydCgnWFNTIGJ5IFNFQyBDb25zdWx0Jyk8L3NjcmlwdD4%3D/key/0f5d20e8559bb6f45e4840ceb6231870f3a8fe122698b37c32ceabbb33595813
2. Security configuration "Add Secret Key to URLs" is
disabled.
URL format:
https://{baseURL}/{adminPath}/admin/system_design_theme/downloadCss/theme_id/{themeID}/file/{base64encoded_xss_payload}/
Example URL:
https://127.0.0.1/index.php/admin/admin/system_design_theme/downloadCss/theme_id/1/file/PHNjcmlwdD5hbGVydCgnWFNTIGJ5IFNFQyBDb25zdWx0Jyk8L3NjcmlwdD4%3D/
Vulnerable / tested versions:
-----------------------------
Magento2 version 2.3.5-p1 has been tested, which was the latest
version
available at the time of the test. Previous versions may also be
affected.
Later versions until the patched version v2.4.2 are affected as
well.
Vendor contact timeline:
------------------------
2020-07-09 | Contacting vendor through
https://hackerone.com/magento.
2020-07-09 | The report is flagged as out-of-scope in
hackerone.
2020-08-13 | Contacting vendor and requesting encryption key
through
2020-08-13 | Vendor provides PGP encryption key.
2020-08-14 | Sending encrypted advisory to the vendor.
2020-09-09 | Asking vendor for a status update.
2020-09-10 | Vendor is still investigating the issue.
2020-09-28 | Asking vendor for a status update.
2020-10-02 | Vendor is still investigating the issue.
2020-11-24 | Asking vendor for a status update.
2020-11-24 | Vendor is planing to fix the issue in next
release.
2021-02-02 | Asking vendor for a status update and the release
date.
2021-02-02 | Vendor is planing to release a security update on
February 9th.
2021-02-10 | Coordinated release of security advisory.
Solution:
---------
Update to the latest available version v2.4.2 of Magento2 from the
vendor's download
page:
https://magento.com/tech-resources/download
Vendor security advisory:
https://helpx.adobe.com/security/products/magento/apsb21-08.html
Workaround:
-----------
None
Advisory URL:
-------------
https://sec-consult.com/vulnerability-lab/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SEC Consult Vulnerability Lab
SEC Consult, an Atos company
Europe | Asia | North America
About SEC Consult Vulnerability Lab
The SEC Consult Vulnerability Lab is an integrated part of SEC
Consult, an
Atos company. It ensures the continued knowledge gain of SEC
Consult in the
field of network and application security to stay ahead of the
attacker. The
SEC Consult Vulnerability Lab supports high-quality penetration
testing and
the evaluation of new offensive and defensive technologies for our
customers.
Hence our customers obtain the most current information about
vulnerabilities
and valid recommendation about the risk profile of new
technologies.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Interested to work with the experts of SEC Consult?
Send us your application https://sec-consult.com/career/
Interested in improving your cyber security with the experts of
SEC Consult?
Contact our local offices https://sec-consult.com/contact/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mail: research at sec-consult dot com
Web: https://www.sec-consult.com
Blog: http://blog.sec-consult.com
Twitter: https://twitter.com/sec_consult
EOF N. Jirathammanuwat / @2021

