X2Engine <= 4.1.7 (FileUploadsFilter.php) Unrestricted File Upload Vulnerability


• Affected Versions:

Version 4.1.7 and probably prior versions.

• Vulnerability Description:

The vulnerability exists because of the FileUploadsFilter::EXT_BLACKLIST constant, which is a regular expression for blacklisted files. Due to a lack of case-insensitive matching, the global upload filter could be bypassed by uploading a malicious file with capital letters within the extension. This can be exploited to upload and execute arbitrary PHP scripts if X2Engine is running on a case-insensitive filesystem or if the web server is configured to handle files’ extensions in a case-insensitive fashion.

• Solution:

Update to version 4.2 or later.

• Disclosure Timeline:

[01/08/2014] – Vendor notified

[02/08/2014] – CVE number requested

[16/08/2014] – CVE number assigned

[05/09/2014] – Version 4.2 released

[23/09/2014] – Public disclosure

• CVE Reference:

The Common Vulnerabilities and Exposures project (cve.mitre.org) has assigned the name CVE-2014-5298 to this vulnerability.

• Credits:

Vulnerability discovered by Egidio Romano.