Description: Authenticated RCE in Vtiger Open Source Edition
Version affected: Vtiger Open Source Edition <= v8.3.0
System: https://www.vtiger.com/open-source-crm/
Solution: Disable ModuleImport feature. See article
Researcher: Simon Njuguna
PoC: https://github.com/cyspa/CVEs/blob/main/CVE-2025-45753
Description:
- The "Module Import" feature allows privileged authenticated users to upload ZIP files containing module files.
- The system fails to properly validate uploaded ZIP contents, allowing an attacker to include a malicious PHP file.
- Once uploaded, the attacker can directly access and execute the PHP file, achieving remote code execution (RCE) on the server.
Impact:
Potential full server takeover
Steps to reproduce the vulnerability
On the attacker machine, start netcat: nc -lnvp 4444
Create the module zip file for vtiger.
The vtiger module zip files contains a manifest.xml file and a php file named List.php.
In the manifest.xml file, specify the module name, label and parent
<type>extension</type><name>RCEModule</name><label>RCEModule</label><parent>Tools</parent>
Insert a php reverse shell payload in List.php
In vtiger, navigate to Module Management > Modules >Import Module from Zip
Select the zip file and click import, then click 'Import Now'.
Once successfully installed, navigate to TOOLS and click the RCEModule
Netcat will receive the reverse connection