Description
EspoCRM is an open source customer relationship management application. Prior to version 9.3.4, EspoCRM's built-in formula scripting engine allowing updating attachment's sourceId thus allowing an authenticated admin to overwrite the `sourceId` field on `Attachment` entities. Because `sourceId` is concatenated directly into a file path with no sanitization in `EspoUploadDir::getFilePath()`, an attacker can redirect any file read or write operation to an arbitrary path within the web server's `open_basedir` scope. Version 9.3.4 fixes the issue.
Published: 2026-04-22
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Remote Code Execution
Action: Apply Patch
AI Analysis

Impact

EspoCRM’s built‑in formula engine can update the sourceId field on Attachment entities without sanitization. An authenticated administrator can trigger this function, allowing the sourceId to be set to an arbitrary file path. Because the path is concatenated directly into a file system location, the attacker can read or write any file within the web server’s open_basedir scope. This flaw, a classic example of path traversal (CWE‑22), can be leveraged to drop malicious files or modify existing ones, potentially leading to the execution of arbitrary code on the host.

Affected Systems

EspoCRM versions earlier than 9.3.4 are affected. The vulnerability applies to the core EspoCRM product provided by espocrm, with no specific sub‑product or component mentioned beyond the Attachment handling mechanism.

Risk and Exploitability

The CVSS score of 9.1 categorizes this issue as critical, and although the EPSS score is not available, the absence of such data does not diminish the inherent danger when the flaw is present. The issue is not listed in CISA’s KEV catalog, but the attack vector remains a logged‑in administrator who can craft a malicious formula. The exploitation process is straightforward: an attacker needs valid admin credentials, formulates a payload to modify the sourceId, and then performs the desired file read/write operation. The open_basedir setting limits the reachable space but still permits significant malicious actions within the allowed directory scope. Consequently, the likelihood of exploitation is considered high for impacted installations.

Generated by OpenCVE AI on April 27, 2026 at 08:27 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade EspoCRM to version 9.3.4 or later, which removes the unsanitized sourceId usage.
  • Configure the open_basedir setting or adjust the web server file permissions so that only non‑essential directories are accessible, thereby limiting the scope of any potential path traversal.
  • Restrict or disable attachment formula editing for privileged users until the patch is applied, and monitor the system for unexpected file modifications or anomalies in attachment records.

Generated by OpenCVE AI on April 27, 2026 at 08:27 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 27 Apr 2026 17:15:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:espocrm:espocrm:*:*:*:*:*:*:*:*

Thu, 23 Apr 2026 14:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 22 Apr 2026 21:45:00 +0000

Type Values Removed Values Added
First Time appeared Espocrm
Espocrm espocrm
Vendors & Products Espocrm
Espocrm espocrm

Wed, 22 Apr 2026 20:30:00 +0000

Type Values Removed Values Added
Description EspoCRM is an open source customer relationship management application. Prior to version 9.3.4, EspoCRM's built-in formula scripting engine allowing updating attachment's sourceId thus allowing an authenticated admin to overwrite the `sourceId` field on `Attachment` entities. Because `sourceId` is concatenated directly into a file path with no sanitization in `EspoUploadDir::getFilePath()`, an attacker can redirect any file read or write operation to an arbitrary path within the web server's `open_basedir` scope. Version 9.3.4 fixes the issue.
Title EspoCRM vulnerable to authenticated RCE via Formula with path traversal in attachment `sourceId`, exploitable by admin user
Weaknesses CWE-22
References
Metrics cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-04-23T13:47:56.303Z

Reserved: 2026-03-23T15:23:42.218Z

Link: CVE-2026-33656

cve-icon Vulnrichment

Updated: 2026-04-23T13:47:52.441Z

cve-icon NVD

Status : Analyzed

Published: 2026-04-22T21:17:05.330

Modified: 2026-04-27T17:04:54.173

Link: CVE-2026-33656

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-27T18:42:00Z

Weaknesses