Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege EspoCRM user
-
DeliveryEnumerate victim attachment ID from stream API or UI
-
ExploitCraft POST /api/v1/Email/importEml with victim fileId
-
ExecutionBypass missing ACL check in import endpoint
-
PersistRead victim .eml contents imported into attacker mailbox
-
ImpactVictim attachment record permanently deleted as side effect
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Exploitation requires an authenticated EspoCRM account with both Email:create and Import permissions explicitly granted by an administrator - these are non-default role permissions. The attacker must also possess a valid attachment ID belonging to another user; however, such IDs are commonly disclosed in normal application use via stream API payloads and attachment download links, substantially lowering the enumeration barrier. Exploitation is confined to the POST /api/v1/Email/importEml endpoint; the standard attachment download path already enforces ACL checks and is not affected. Unauthenticated actors cannot exploit this vulnerability. Users without the Email:create and Import permission combination are similarly excluded from the attack surface. |
| Impact | The CVSS 3.1 score of 5.4 (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N) correctly models this as network-reachable, low-complexity, and requiring authenticated low-privilege access. The integrity impact (I:L) deserves specific attention: the victim's original attachment record is permanently deleted as a side effect of the import flow, which may be treated as more impactful than the C:L confidentiality score alone implies in environments relying on email evidence retention. EPSS at 0.02% (5th percentile) and SSVC's 'Automatable: no' designation together indicate very low scanning or opportunistic exploitation pressure at time of analysis. The vulnerability is not in CISA KEV, meaning no confirmed active exploitation in production environments. However, a public PoC exists via the vendor advisory, and practical exploitability is elevated because attachment IDs are routinely exposed through stream API payloads and download links during normal EspoCRM use - reducing attacker reconnaissance burden significantly. The most realistic risk scenario is an insider threat or a compromised low-privilege account in a multi-tenant deployment where sensitive business communications are stored as email attachments. |
| Exploit ScenarioDerived | An attacker with a low-privilege EspoCRM account (Email:create and Import permissions assigned) observes a colleague's attachment ID in a shared email thread's stream API payload or intercepts it from a download link. The attacker crafts a POST to /api/v1/Email/importEml supplying the victim's fileId, bypassing ACL validation, and retrieves the victim's .eml attachment contents imported into their own mailbox - while the victim's original attachment record is permanently deleted. A public proof-of-concept is referenced in the vendor advisory at GHSA-wr7j-hxf8-hc4w. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 24, 2026
Insecure Direct Object Reference in EspoCRM 9.3.3 and earlier allows any authenticated user holding Email:create and Import permissions to read arbitrary attachment records owned by other users via the POST /api/v1/Email/importEml endpoint. The attacker supplies a victim's fileId, which the endpoint accepted without ACL validation and passed directly to the import service - importing the victim's .eml contents into the attacker's mailbox while simultaneously deleting the original victim attachment record as a side effect. A public proof-of-concept is available via the vendor's GitHub security advisory; EPSS remains at 0.02% (5th percentile), consistent with SSVC's 'Automatable: no' designation and no confirmed active exploitation at time of analysis.
RemediationAI
Vendor-released patch: EspoCRM 9.3.4, available at https://github.com/espocrm/espocrm/releases/tag/9.3.4. The fix commit (https://github.com/espocrm/espocrm/commit/88e3ba6a7b5cab5dbc2298e2a093d3aa383aa95f) introduces ACL enforcement in the API layer via checkEntityRead() before any attachment is accessed. If immediate upgrade is not feasible, revoke Email:create and Import permissions from all non-administrative roles as a compensating control - this eliminates the exploitable permission combination but will prevent legitimate EML import workflows for affected users. Disabling EML import at the role/ACL level is more targeted and less disruptive than blanket permission removal. No network-layer workaround is effective given the vulnerability requires only standard authenticated API access.
Affected VersionsENISA
Affected Packages
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 is a PHP-based open-source CRM platform. The flaw resides in PostImportEml.php, which previously accepted a raw fileId string and forwarded it to ImportEmlService::import() with no authorization check on the referenced Attachment entity. The commit diff (88e3ba6) confirms the fix: a new getAttachment() method was introduced in the API layer that fetches the entity via EntityManager and calls $this->acl->checkEntityRead($attachment) before proceeding - mirroring the authorization logic already enforced on standard attachment download endpoints. CWE-639 (Authorization Through User-Controlled Key) is the precise root cause: the application used an attacker-controlled identifier to directly reference a persisted object without verifying the requesting user's rights, bypassing the ACL layer entirely. The affected CPE is cpe:2.3:a:espocrm:espocrm:*:*:*:*:*:*:*:*, covering all releases prior to 9.3.4.
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
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
Network API endpoint requires low-privilege authenticated access (PR:L); IDOR yields single-file confidentiality read (C:L) and incidental victim attachment deletion (I:L), no availability impact.
Primary rating from GitHub Advisory.
CVSS VectorGitHub Advisory
Lifecycle Timeline
3DescriptionGitHub Advisory
EspoCRM is an open source customer relationship management application. In versions 9.3.3 and below, the POST /api/v1/Email/importEml endpoint contains an Insecure Direct Object Reference (IDOR) vulnerability where the attacker-supplied fileId parameter is used to fetch any attachment directly from the repository without verifying that the current user has authorization to access it. Any authenticated user with Email:create and Import permissions can exploit this to read another user's .eml attachment contents by importing them as a new email into the attacker's mailbox, while the original victim attachment record is deleted as a side effect of the import flow. This is inconsistent with the standard attachment download path, which enforces ACL checks before returning file data, and is practically exploitable because attachment IDs are commonly exposed in normal UI and API workflows such as stream payloads and download links. This issue is fixed in version 9.3.4.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Directory traversal vulnerability in EspoCRM before 2.6.0 allows remote attackers to include and execute arbitrary local
PHP object deserialization in EspoCRM versions prior to 9.3.7 lets an authenticated administrator achieve remote code ex
Path traversal in EspoCRM's formula scripting engine allows authenticated administrators to achieve arbitrary file read/
EspoCRM version 7.1.8 is vulnerable to Unrestricted File Upload allowing attackers to upload malicious file with any ext
EspoCRM 5.6.4 is vulnerable to user password hash enumeration. Rated high severity (CVSS 8.8), this vulnerability is rem
Authorization bypass in EspoCRM 5.8.5 lets an authenticated low-privilege user reuse or manipulate Basic-Authorization a
EspoCRM deployments before 10.0.5 allow an authenticated user with Email Account scope to retrieve other users' stored I
CSV Injection in Create Contacts in EspoCRM 7.1.8 allows remote authenticated users to run system commands via creating
Boolean-based blind SQL injection in EspoCRM versions 8.1.0 through 9.3.7 allows an authenticated non-administrator to i
Path traversal in EspoCRM admin template management allows authenticated administrators to read, create, overwrite, or d
Server-side request forgery in EspoCRM before 10.0.4 allows authenticated users to route outbound HTTP requests to inter
Stored cross-site scripting in EspoCRM 9.3.3 and below enables an authenticated attacker to execute arbitrary JavaScript
EUVD-2026-22098
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB