CVE-2026-47168 in EspoCRMinfo

Summary

by MITRE • 10/15/2026

EspoCRM is an open source customer relationship management application. Prior to 9.3.7, an authenticated administrator can supply crafted serialized PHP object data that is stored in background MassAction or Export parameters and later deserialized by the application. The deserialization paths do not restrict allowed classes, allowing attacker-controlled object instantiation and arbitrary code execution on the server. This issue is fixed in version 9.3.7.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Analysis

by VulDB Data Team • 10/15/2026

EspoCRM represents a widely deployed open-source customer relationship management platform that facilitates business operations by managing interactions with current and potential customers. The security flaw identified prior to version 9.3.7 centers on the application's handling of serialized PHP objects within administrative functions, specifically those related to background MassAction processes and data export features. This vulnerability arises from a fundamental misconfiguration in how the application manages object deserialization for these specific operational workflows. When an authenticated administrator initiates a mass action or exports data, the system accepts parameters that are subsequently processed through PHP's unserialize function without adequate validation of the input payload structure.

The core technical deficiency lies in the absence of strict class whitelisting during the deserialization process. In secure software design, untrusted serialized data must be validated against an allowlist of permitted classes to prevent attackers from instantiating arbitrary objects that may contain malicious logic. Because EspoCRM failed to implement such restrictions for these specific endpoints, it allowed any PHP object defined within the application's codebase or available in the environment to be instantiated by attacker-controlled input. This lack of restriction effectively bypasses standard security controls designed to isolate untrusted data from critical system operations.

The operational impact of this vulnerability is severe due to its potential for remote code execution on the server hosting the EspoCRM instance. Although exploitation requires authentication as an administrator, which provides a higher privilege level than typical user accounts, it significantly lowers the barrier for attack compared to fully unauthenticated exploits. An attacker with administrative credentials can craft specific serialized payloads that exploit known deserialization gadgets within the PHP environment or the application itself. Upon execution, these objects trigger arbitrary code execution, granting the adversary full control over the underlying server operating system. This level of access allows for complete compromise of confidential customer data, modification of business logic, and potential pivoting to other systems on the network.

This vulnerability is categorized under CWE-502, which denotes Deserialization of Untrusted Data, a critical category in software security standards due to its high likelihood of leading to remote code execution. From an offensive perspective, this attack vector aligns with MITRE ATT&CK techniques related to Command and Scripting Interpreter abuse via deserialization chains. The exploitation relies on the attacker manipulating internal application states through crafted inputs that are processed by backend services rather than direct user interface interactions.

Mitigation strategies primarily involve upgrading the EspoCRM installation to version 9.3.7 or later, where this specific deserialization flaw has been addressed by implementing stricter input validation and class restriction mechanisms for background tasks and export functions. For organizations unable to immediately patch their systems due to operational constraints, temporary mitigations include restricting administrative access through network-level controls such as firewalls or VPNs to ensure only trusted IP addresses can reach the administration interface. Additionally, enabling Web Application Firewall rules that detect patterns associated with PHP serialization payloads can provide a layer of defense against exploitation attempts while permanent fixes are being deployed. Regular security audits and code reviews focusing on deserialization practices should be conducted to prevent similar vulnerabilities in future development cycles.

Responsible

GitHub M

Reservation

05/18/2026

Disclosure

10/15/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

low

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!