Skip to main content

EspoCRM CVE-2026-33656

| EUVDEUVD-2026-25081 CRITICAL
Path Traversal (CWE-22)
2026-04-22 GitHub_M
9.1
CVSS 3.1 · GitHub Advisory
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Gain admin credentials via phishing or compromise
  2. Delivery
    Authenticate to EspoCRM web interface
  3. Exploit
    Access formula scripting engine
  4. Install
    Craft Attachment update with traversal payload in sourceId
  5. C2
    Trigger getFilePath() concatenation
  6. Execute
    Execute arbitrary file read/write
  7. Impact
    Exfiltrate config data or deploy webshell
  8. Step 8
    Establish persistent access

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires authenticated access with administrative privileges (PR:H in CVSS vector) to EspoCRM's formula scripting interface where Attachment entity manipulation is permitted. The vulnerability specifically requires the ability to update the sourceId field on Attachment objects through the formula engine, which is an admin-level capability in EspoCRM's default role-based access control configuration. Exploitation is limited to files within the web server's PHP open_basedir restriction scope - if open_basedir is tightly configured, traversal impact is constrained to that directory tree. No additional user interaction or non-default configuration is required once admin access is achieved. Network-accessible attack vector (AV:N) means the exploitation can occur remotely over HTTP/HTTPS without local shell access to the server.

Impact

Real-world risk is significant but contextually limited. The CVSS 9.1 Critical rating reflects maximum confidentiality, integrity, and availability impact with Changed scope, indicating an authenticated admin can read sensitive configuration files, overwrite application code for webshells, or corrupt critical data structures. However, the PR:H requirement means only users with administrative privileges can exploit this - the threat model is primarily malicious insiders, compromised admin accounts, or chained attacks where initial access is gained through separate vulnerabilities. The Changed scope is particularly concerning as it suggests filesystem operations can escape application-level sandboxing within open_basedir limits. Publicly available exploit code (GitHub security advisory GHSA-7922-x7cf-j54x) lowers the skill barrier for exploitation. EPSS score was not provided in the intelligence data, preventing assessment of observed exploitation probability. No CISA KEV listing indicates this is not currently exploited at scale in the wild. The vendor-released patch in version 9.3.4 provides clear remediation path. Organizations should prioritize this based on: (1) whether admin accounts could be compromised through phishing or credential reuse, (2) multi-tenant deployments where Changed scope has broader blast radius, and (3) environments where EspoCRM runs with elevated filesystem permissions beyond typical web application sandboxing.

Exploit ScenarioDerived

A malicious administrator or attacker with compromised admin credentials logs into EspoCRM and accesses the formula scripting interface. Using the built-in formula engine, they craft an update operation targeting an Attachment entity, setting the sourceId field to a path traversal payload like '../../../config/config.php' or '../../../../var/www/html/shell.php'. When EspoCRM's getFilePath() method processes this manipulated sourceId, the unsanitized input is concatenated directly into filesystem operations, allowing the attacker to read sensitive configuration files containing database credentials, overwrite application code with a webshell for persistent access, or corrupt critical system files to cause denial of service. Public exploit code from the GitHub advisory provides ready-to-use proof-of-concept, lowering technical barriers.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Apr 23, 2026

Path traversal in EspoCRM's formula scripting engine allows authenticated administrators to achieve arbitrary file read/write on the web server by manipulating attachment sourceId fields. The vulnerability chains unsanitized user input with filesystem operations, enabling admins to overwrite or access files anywhere within PHP's open_basedir restriction. Publicly available exploit code exists. Vendor-released patch version 9.3.4 addresses this critical issue. Despite the 9.1 CVSS score and Changed scope indicating potential container escape or cross-tenant impact, EPSS data was not provided to assess real-world exploitation likelihood.

RemediationAI

Upgrade EspoCRM to version 9.3.4 or later, which implements input sanitization in the getFilePath() method to prevent path traversal attacks on sourceId fields. The vendor advisory at https://github.com/espocrm/espocrm/security/advisories/GHSA-7922-x7cf-j54x contains upgrade instructions and patch details. If immediate patching is not feasible, implement compensating controls: restrict administrative access through multi-factor authentication and principle of least privilege to minimize insider threat surface; configure PHP open_basedir directives as restrictively as possible to limit filesystem access scope even if traversal succeeds; enable comprehensive file integrity monitoring on the web server to detect unauthorized modifications to application files or configuration; audit formula scripts created by administrators for suspicious file path manipulation patterns. Note that access restrictions only reduce attack surface - they do not eliminate the vulnerability, and determined attackers with legitimate admin credentials can still exploit the flaw. Deploy the vendor patch as the only complete remediation.

Affected VersionsENISA

espocrm < 9.3.4

Affected Packages

euvd espocrm fix: 9.3.4

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

EspoCRM implements a built-in formula scripting engine for business logic automation. The vulnerability exists in the attachment handling subsystem where the getFilePath() method in EspoUploadDir directly concatenates user-controlled sourceId values into filesystem paths without validation or sanitization. This is a classic CWE-22 path traversal vulnerability where an attacker can inject directory traversal sequences like '../' to escape intended directory boundaries. The CVSS vector shows Changed Scope (S:C), indicating the vulnerability can affect resources beyond its security scope - in this context, the formula engine's trust boundary is violated to access the broader filesystem. The attack requires high privileges (PR:H) as administrative access to EspoCRM is necessary to manipulate Attachment entities through the formula interface, but once authenticated the attack has low complexity (AC:L) with no user interaction required.

Know when Espocrm gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

GitHub Advisory PRIMARY 9.1 CRITICAL
AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H

Primary rating from GitHub Advisory · only source for this CVE.

CVSS VectorGitHub Advisory

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
PoC Detected
Apr 27, 2026 - 17:04 vuln.today
Public exploit code
Patch released
Apr 27, 2026 - 17:04 nvd
Patch available
Patch available
Apr 22, 2026 - 22:02 EUVD
CVE Published
Apr 22, 2026 - 20:01 nvd
CRITICAL 9.1

DescriptionGitHub Advisory

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.

Executive ViewAI

Why It Matters

CVE-2026-33656 is a critical path traversal vulnerability in EspoCRM's formula scripting engine that enables authenticated administrators to read and write arbitrary files on the web server, potentially compromising sensitive data, application integrity, and cross-tenant environments. With publicly available exploit code and a 9.1 CVSS score, this vulnerability poses an immediate risk to organizations using EspoCRM and should be treated as a priority remediation.

Business Impact: Severe
Compensating Controls

Apply vendor patch version 9.3.4. Until patching is complete: disable or restrict access to formula scripting functionality in EspoCRM administrative interfaces; implement file integrity monitoring on web server directories to detect unauthorized modifications; enhance logging and monitoring of administrator activities; consider network segmentation to limit lateral movement from compromised admin accounts.

Threat Intelligence Overview

EPSS Score
0.1%
Top 83% exploitable
Exploit
POC
Public exploit code exists
Social Media
5
Sightings
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC Yes
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity + public POC available
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

66
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

CVE-2014-7985 CRITICAL POC
10.0 Oct 31

Directory traversal vulnerability in EspoCRM before 2.6.0 allows remote attackers to include and execute arbitrary local

CVE-2026-47168 CRITICAL POC
9.1 Oct 15

PHP object deserialization in EspoCRM versions prior to 9.3.7 lets an authenticated administrator achieve remote code ex

CVE-2022-38843 HIGH POC
8.8 Sep 16

EspoCRM version 7.1.8 is vulnerable to Unrestricted File Upload allowing attackers to upload malicious file with any ext

CVE-2019-14351 HIGH POC
8.8 Jul 28

EspoCRM 5.6.4 is vulnerable to user password hash enumeration. Rated high severity (CVSS 8.8), this vulnerability is rem

CVE-2020-37094 HIGH POC
8.6 Feb 03

Authorization bypass in EspoCRM 5.8.5 lets an authenticated low-privilege user reuse or manipulate Basic-Authorization a

CVE-2026-105833 HIGH POC
8.3 Oct 08

EspoCRM deployments before 10.0.5 allow an authenticated user with Email Account scope to retrieve other users' stored I

CVE-2022-38844 HIGH POC
8.0 Sep 16

CSV Injection in Create Contacts in EspoCRM 7.1.8 allows remote authenticated users to run system commands via creating

CVE-2026-53574 HIGH POC
7.6 Oct 15

Boolean-based blind SQL injection in EspoCRM versions 8.1.0 through 9.3.7 allows an authenticated non-administrator to i

CVE-2026-33733 HIGH POC
7.2 Apr 22

Path traversal in EspoCRM admin template management allows authenticated administrators to read, create, overwrite, or d

CVE-2026-88896 MEDIUM POC
6.9 Sep 10

Server-side request forgery in EspoCRM before 10.0.4 allows authenticated users to route outbound HTTP requests to inter

CVE-2026-33741 MEDIUM POC
6.8 May 19

Stored cross-site scripting in EspoCRM 9.3.3 and below enables an authenticated attacker to execute arbitrary JavaScript

CVE-2026-46694 MEDIUM POC
6.5 Oct 15

Information disclosure in EspoCRM's portal Note API allows an authenticated portal user (CVSS PR:L) who already has stre

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy