xpressengine / xe-core

XpressEngine 1.x
https://xe1.xpressengine.com
Other
89 stars 62 forks source link

Unrestricted file upload vulnerability in Latest Release 3.3.16 #2434

Open Cyc1e183 opened 2 years ago

Cyc1e183 commented 2 years ago

Affected version: XE before 1.11.6.

Vulnerable file: modules/menu/menu.admin.controller.php. #menu_hover_btn menu_active_btn

Causes of vulnerability:

1638921811742

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]

image

1638923044522

Repair suggestion: add the html file to the upload blacklist.