Zenario CMS 9.2 - Insecure file upload (RCE)
9.1
Critical
Discovered by
Offensive Team, Fluid Attacks
Summary
Full name
Zenario CMS 9.2 - Insecure file upload (RCE)
Code name
State
Public
Release date
Feb 18, 2022
Affected product
Zenario CMS
Affected version(s)
9.2
Fixed version(s)
9.2.55826
Vulnerability name
Insecure file upload (RCE)
Vulnerability type
Remotely exploitable
Yes
CVSS v3.1 vector string
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
CVSS v3.1 base score
9.1
Exploit available
No
CVE ID(s)
Description
Zenario CMS 9.2 allows an authenticated admin user to bypass the file upload restriction by creating a new File/MIME Types
using the .phar
extension. Then an attacker can upload a malicious file, intercept the request and change the extension to .phar
in order to run commands on the server.
Proof of Concept
Steps to reproduce
Once login as admin click on 'Go to Organizer'> 'Configuration'.
Select 'File/MIME Types' in the 'Configuration' menu.
Click on 'Create'.
Create a new custom file type using 'phar' as extension and 'text/plain' as MIME Type and then click on 'Save'.
The server validates some malicious extensions but still there are some valid executable extensions. For example 'phar' and 'shtml'.
Create a '.phar' file with the following content.
On the admin menu, click on 'Documents'
Click on 'Upload documents'
Click on 'Upload...' and browse the created file.
Select 'Public' and click on 'Save'.
Select the file and click on 'Actions' > 'View public link' in order to get the file location.
Go to the url in the browser.
System Information
Version: Zenario CMS 9.2.
Operating System: Linux.
Web Server: Apache
PHP Version: 7.4
Database and version: Mysql
Exploit
There is no exploit for the vulnerability but can be manually exploited.
Mitigation
An updated version of Zenario CMS is available at the vendor page.
References
Vendor page https://zenar.io/
Patched version https://github.com/TribalSystems/Zenario/releases/tag/9.2.55826
Timeline
Vulnerability discovered
Jan 13, 2022
Vulnerability patched
Feb 8, 2022
Vendor contacted
Jan 13, 2022
Vendor replied
Jan 14, 2022
Public disclosure
Feb 18, 2022