When uploading the Mouse over button and When selected button , there is no restriction on the file suffix, which leads to any file uploading to the files directory. Since .htaccess only restricts the PHP type, uploading HTML-type files leads to stored XSS vulnerabilities.
If the .htaccess configuration is improper, for example before the XE 1.11.2 version, you can upload the PHP type file to GETSHELL.
deny access to files that may contain sensitive information
Affected version: XE before 1.11.6.
Vulnerable file: modules/menu/menu.admin.controller.php. #menu_hover_btn menu_active_btn
Causes of vulnerability:
When uploading the Mouse over button and When selected button , there is no restriction on the file suffix, which leads to any file uploading to the files directory. Since .htaccess only restricts the PHP type, uploading HTML-type files leads to stored XSS vulnerabilities.
If the .htaccess configuration is improper, for example before the XE 1.11.2 version, you can upload the PHP type file to GETSHELL.
deny access to files that may contain sensitive information
RewriteRule ^(./)?.(editor|git|ht|jshint|travis) - [L,F] RewriteRule ^(codeception(.).yml|composer(.*).(json|lock)|package.json)$ - [L,F] RewriteRule ^files/(attach|config|cache/store)/.+.(ph(p|t|ar)?[0-9]?|p?html?|cgi|pl|exe|(a|j)sp|inc)$ - [L,F] RewriteRule ^files/(env|member_extra_info/(new_message_flags|point))/ - [L,F]
Repair suggestion: add the html file to the upload blacklist.