CVE-2024-49774·PHP vulnerability
SuiteCRM is an open-source, enterprise-ready Customer Relationship Management (CRM) software application. SuiteCRM relies on the blacklist of functions/methods to prevent installation of malicious MLPs. But this checks can be bypassed with some syntax constructions. SuiteCRM uses token_get_all to parse PHP scripts and check the resulted AST against blacklists. But it doesn't take into account all scenarios. This issue has been addressed in versions 7.14.6 and 8.7.1. Users are advised to upgrade. There are no known workarounds for this vulnerability.
- Severity
- high
- Software
- PHP
- Fixed in
- 8.7.1
- Published
- 2024-11-05
Affected versions
From: 8.0.0
Until: 8.7.1
Fixed in: 8.7.1
How to fix this CVE
SuiteCRM versions 8.0.0 through 8.7.0 contain a bypass vulnerability in the PHP function blacklist mechanism used to prevent malicious module installation. Attackers can use alternative PHP syntax constructions to circumvent the AST parsing checks and execute prohibited functions. Upgrade to SuiteCRM 8.7.1 or later immediately, and review any recently installed modules for suspicious activity.
sudo dnf check-update php && sudo dnf upgrade phpDefensia detects this vulnerability
How to check if you are affected
- Check SuiteCRM version: Log into the SuiteCRM admin panel and navigate to Admin > System Settings > System Information to view the current version number.
- Verify affected version: Confirm if your installation is between 8.0.0 and 8.7.0 inclusive; versions 7.x and 8.7.1+ are not vulnerable.
- Review module installation logs: Examine the SuiteCRM log directory (typically /var/www/suitecrm/logs/) for module_loader.log and look for failed or unusual module installations with obfuscated syntax patterns.
- Validate patch application: After upgrading, re-check Admin > System Information to confirm version is 8.7.1 or higher and verify no pending module installations remain in the queue.
FAQ
What is CVE-2024-49774?
CVE-2024-49774 is a security bypass vulnerability in SuiteCRM that allows attackers to circumvent the PHP function blacklist by using alternative syntax constructions when installing modules. The token_get_all parser fails to catch all obfuscated code patterns, enabling installation of malicious plugins that execute forbidden functions.
Is CVE-2024-49774 being actively exploited?
No, CVE-2024-49774 is not currently listed on the CISA Known Exploited Vulnerabilities (KEV) catalog, and no public exploit code has been released. However, the vulnerability requires only admin-level privileges and poses a significant insider threat risk.
What versions of PHP are affected by CVE-2024-49774?
CVE-2024-49774 affects SuiteCRM versions 8.0.0 through 8.7.0. Version 7.14.6 and earlier (7.x branch) are patched, as is the fixed 8.7.1 release and all subsequent versions.
How do I check if my server is vulnerable to CVE-2024-49774?
Run `curl -s http://your-suitecrm-domain/index.php | grep -i 'SuiteCRM' | head -5` to find version hints in the page source, or access the admin panel directly. Alternatively, check the file `/index.php` for the version constant: `grep -r 'SUITECRM_VERSION' /var/www/suitecrm/`.
Does Defensia detect CVE-2024-49774?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If PHP and SuiteCRM are installed on a monitored server within the vulnerable version range, CVE-2024-49774 will appear in your dashboard with remediation steps.
Related PHP CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-49774. Free for 1 server.
Get started free