CVE-2026-23697: Vtiger CRM Authenticated File Upload RCE
Vtiger CRM versions before 8.4.0 allow authenticated users with basic access rights to upload malicious files that execute as code on the server. An attacker first logs in as a low-privileged user, then uses the Documents module to upload a specially crafted .phar file containing PHP code. Because Vtiger's file-type blocklist doesn't include .phar, the upload succeeds. The file lands in a web-accessible folder where a misconfigured Apache security rule fails to block it, enabling anyone to trigger the malicious code remotely without authentication.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 8.8 HIGH · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Weaknesses (CWE)
- CWE-434
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-07-07 / 2026-07-08
NVD description (verbatim)
Vtiger CRM before 8.4.0 contains an authenticated file upload vulnerability that allows low-privileged users to achieve remote code execution by uploading a .phar file containing arbitrary PHP code through the Documents module, bypassing the extension denylist in config.inc.php which omits the .phar extension. The uploaded file is stored with its original .phar extension under the web-accessible storage directory, and a misconfigured .htaccess using Apache 2.2 syntax is silently ignored on Apache 2.4 deployments, allowing unauthenticated HTTP requests to directly execute the uploaded PHP payload.
3 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability stems from two compounded weaknesses. First, Vtiger's extension denylist in config.inc.php excludes .phar from restricted file types, despite .phar being executable by the PHP interpreter. Second, the .htaccess file protecting uploaded content uses Apache 2.2 directives that fail silently on Apache 2.4 systems, leaving the storage directory unprotected. An authenticated attacker uploads a .phar file via the Documents module; the file is stored with its original extension in a web-accessible location. Subsequent HTTP requests to the file path execute the embedded PHP payload at the web server's privilege level, granting the attacker full remote code execution.
Business impact
Successful exploitation enables complete server compromise. An attacker gains the ability to read sensitive data (customer records, transaction logs, configuration details), modify or delete business-critical information, or pivot to internal systems. For organizations running Vtiger CRM as a central business application, this creates significant operational and compliance risk. Ransomware deployment, data exfiltration, and supply-chain compromises are plausible follow-on attacks. Even if external access controls restrict who can obtain initial login credentials, insider threats or credential compromise from upstream systems could lower the barrier to exploitation.
Affected systems
Vtiger CRM versions prior to 8.4.0 are vulnerable. Deployments on Apache 2.4 are particularly exposed because the legacy .htaccess rules provide no protection; Apache 2.2 systems may have partial mitigation if the older directive syntax is honored. Organizations running Vtiger 8.4.0 or later are unaffected. The vulnerability requires at least basic authenticated access, so isolated instances or those with strict access controls face lower immediate risk—but the severity warrants rapid patching regardless of deployment posture.
Exploitability
Exploitation requires a valid user account with permission to upload documents. The technical bar is low: craft a .phar file containing PHP code, use the web interface or API to upload it, and request the file URL. No additional exploitation complexity exists; the misconfigured .htaccess fails silently, so the payload executes on the first HTTP request. The authentication requirement means mass scanning and opportunistic exploitation are less likely, but targeted attacks against known Vtiger deployments, especially where credentials are compromised or shared, present a genuine threat. The CVSS 3.1 score of 8.8 (High) reflects this moderate friction—authentication is required, but impact is complete.
Remediation
Upgrade to Vtiger CRM 8.4.0 or later immediately. If immediate patching is impossible, implement compensating controls: restrict the Documents module to trusted users only, deploy a Web Application Firewall rule to block direct requests to the document storage directory, and monitor for suspicious .phar file uploads or execution patterns. Additionally, verify your Apache configuration (2.2 vs. 2.4) and ensure the .htaccess rules are appropriate for your version—manual configuration corrections may provide temporary mitigation until patching is complete.
Patch guidance
Apply Vtiger CRM 8.4.0 or a later patched release as soon as possible. Verify the patch is installed by checking the version number in the administrative interface or release notes. After patching, restart the web service to ensure all processes are running updated code. Test document upload functionality to confirm that .phar files are now properly blocked or restricted. No data migration or rollback is expected; the patch is a drop-in replacement.
Detection guidance
Monitor web server logs for HTTP requests targeting the document storage directory (typically under /storage or /upload folders) with .phar file extensions. Flag any successful 200-status responses to .phar URIs, especially if preceded by upload activity from low-privileged accounts. Check for .phar files in the Documents module or underlying storage via file system audits. Review authentication logs for unusual or privilege-escalated document uploads. Intrusion detection signatures targeting .phar file uploads or execution in web-accessible directories should be enabled. Correlate Apache error logs with failed .htaccess rules (look for directives that are silently ignored) to identify Apache 2.4 instances running legacy configuration.
Why prioritize this
This vulnerability warrants immediate priority. The CVSS score is 8.8 (High), and it combines realistic authentication requirements with near-complete system compromise. While not trivial to exploit, the attack surface—authenticated users—is often larger than assumed when credentials are shared, compromised, or obtained through phishing. The flaw has been public since July 2026, increasing the likelihood of weaponization or targeted attacks. Rapid patching prevents a common ingress vector for ransomware and data theft.
Risk score, explained
CVSS 3.1/8.8 reflects a high-severity vulnerability that requires authentication (PR:L) but delivers confidentiality, integrity, and availability impact (C:H/I:H/A:H). The attack vector is network-based (AV:N), attack complexity is low (AC:L), and user interaction is not required (UI:N). This score appropriately captures the balance: authentication is a meaningful barrier, but the scope of compromise and ease of exploitation once inside justify a High rating.
Frequently asked questions
Can an unauthenticated attacker exploit this vulnerability?
No. Initial exploitation requires a valid user account with permission to upload documents. However, once the .phar file is uploaded, unauthenticated users can trigger execution via HTTP requests. The vulnerability chain is: authenticated upload → unauthenticated execution. This is why patching quickly is critical even if your user base is small.
Does upgrading to 8.4.0 automatically fix the vulnerability?
Yes. Vtiger 8.4.0 and later patch both the extension denylist and .htaccess configuration issues. After upgrading, verify that .phar uploads are blocked or that the storage directory is properly protected. No additional configuration steps are typically required, but testing document uploads post-patch is recommended.
What if we cannot patch immediately?
Restrict the Documents module to a minimal set of trusted users. Implement WAF rules to block requests to the storage directory. Monitor logs for .phar uploads or suspicious activity. Ensure your .htaccess configuration is appropriate for your Apache version and test that it actually blocks access to the storage folder. These controls reduce risk but are not a substitute for patching.
How is this different from a typical file upload vulnerability?
The attack leverages two distinct flaws: an incomplete extension denylist (.phar is executable but not blocked) and a broken access control (.htaccess rules designed for an older Apache version fail silently). Most file upload vulnerabilities can be mitigated by blocking dangerous extensions; this one requires both extension filtering and proper web server configuration to stop.
This analysis is based on published vulnerability data as of July 2026. Patch version numbers and affected version ranges are sourced from vendor advisories; organizations should verify against official Vtiger documentation before deploying patches. No proof-of-concept or exploit code is provided. Risk assessments are based on CVSS 3.1 scoring and may vary depending on your organization's deployment, network controls, and threat model. SEC.co recommends independent assessment and testing in a controlled environment before patching production systems. Source: NVD (public-domain), retrieved 2026-08-16. Analysis generated by SEC.co (claude-haiku-4-5).
Weaknesses (CWE)
Related vulnerabilities
- CVE-2018-25388HIGHHaPe PKH 1.1 Arbitrary File Upload Vulnerability (CVSS 8.8)
- CVE-2018-25409HIGHSIM-PKH 2.4.1 Arbitrary File Upload Leading to Remote Code Execution
- CVE-2019-25758HIGHJoomla! vBizz Unrestricted File Upload to RCE
- CVE-2025-24815HIGHNokia MantaRay NM File Upload Validation Flaw – Patch Guidance
- CVE-2026-10072HIGHDreamMaker Arbitrary File Upload RCE Vulnerability
- CVE-2026-11344HIGHUnrestricted File Upload in code-projects Vehicle Management System 1.0
- CVE-2026-11419HIGHAltium Enterprise Server Path Traversal – Arbitrary File Write
- CVE-2026-11474HIGHUnrestricted File Upload in Kushan2k Student Management System