Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with mass-update permission
-
DeliveryObtain valid attachment identifier
-
ExploitSubmit identifier to mass-update processor
-
ExecutionAttachment duplicated without ACL read check
-
ImpactRead exposed file contents
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated EspoCRM account (prior to version 10.0.2) that has been granted mass-update permission, plus possession of a valid attachment identifier for a file the attacker is not otherwise authorized to read. The vulnerable path is specifically the mass-update file-copy logic (copyFileField / copyAttachmentMultipleField in Tools/MassUpdate/Processor.php), which duplicated attachments without an ACL read check. The primary limiting factor, explicitly stated by the vendor, is the difficulty of obtaining a valid attachment ID (reflected as AC:H); additionally the mass-update permission is an elevated privilege not held by ordinary read-only users, so this is effectively an insider/privilege-boundary bypass rather than an unauthenticated remote exposure. |
| Impact | This is a medium-severity authorization (access-control) flaw, not a critical one. The vendor-provided CVSS 4.0 vector (6.0) shows AV:N but AC:H and PR:L, meaning that while the mass-update endpoint is reachable over the network, exploitation requires an already-authenticated account holding mass-update permission AND knowledge of a valid attachment identifier - the description itself notes 'obtaining a valid attachment identifier may be difficult,' which justifies the high attack complexity. Impact is confidentiality-only (VC:H, VI:N, VA:N): an attacker can read file contents they should not access, but cannot modify or deny service. No EPSS score was provided in the input and the CVE is NOT listed in CISA KEV, so there is no evidence of widespread or active exploitation; the 'publicly available' POC references actually point to the vendor security advisory, the patch commit, and the 10.0.2 release rather than a standalone weaponized exploit. No SSVC decision data was supplied. Net: a legitimate but lower-priority insider/privilege-boundary issue - prioritize patching for multi-tenant or least-privilege EspoCRM deployments, but it is not a mass-exploitation threat given the authentication requirement and the difficulty of guessing attachment IDs. |
| Exploit ScenarioDerived | An authenticated EspoCRM user who holds mass-update permission but lacks read access to a sensitive attachment supplies that attachment's known identifier to the mass-update functionality; the processor duplicates the file into a record the attacker controls, bypassing record- and field-level ACLs and exposing the file contents. A patch commit and security advisory are publicly available, but no standalone weaponized exploit was identified, and the attacker must first obtain a valid attachment ID, which the vendor notes is difficult. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
EspoCRM installations prior to 10.0.2 allow an authenticated user holding the mass-update permission to duplicate an existing Attachment record by supplying its identifier, because the mass-update processor copied the file without performing an ACL read check - the resulting copy is then readable by the attacker, disclosing the file's contents. Impact is confidentiality-only (no integrity or availability effect) and exploitation is constrained: the attacker must already possess an elevated mass-update privilege and must know a valid attachment ID for a file they are not authorized to read, which the vendor acknowledges is difficult to obtain. Publicly available exploitation material exists in the form of the upstream advisory, the fix commit that pinpoints the vulnerable code path (Tools/MassUpdate/Processor.php), and the 10.0.2 release notes; there is no CISA KEV listing indicating confirmed active exploitation of this issue.
RemediationAI
Vendor-released patch: upgrade to EspoCRM 10.0.2 or later, which introduces the missing $acl->checkEntityRead($attachment) check in copyFileField() and copyAttachmentMultipleField() and converts a failed check into a logged, per-record skip in Tools/MassUpdate/Processor.php; the upgrade is available from https://github.com/espocrm/espocrm/releases/tag/10.0.2 and the advisory GHSA-24pg-2q7q-m5p6 documents it. Where immediate upgrading is not possible, the most effective compensating control is to remove the mass-update permission from all roles except a small, trusted administrative group (Administration > Roles > uncheck Mass Update) - this directly removes the required PR:L precondition, at the cost of disabling bulk-edit workflows for the affected users, who can still edit records individually. Because exploitation additionally requires knowledge of a valid attachment identifier, tightening Attachment entity read permissions (restrict to specific teams rather than 'all users') reduces the blast radius of any leaked IDs, and short-lived attachment token/URL exposure through email templates or exported CSV/PDF output should be audited, since that is a likely source of the IDs an insider would need. Note that these are mitigations only: they do not fix the underlying missing authorization check, and the copy-side ACL semantics remain bypassable for anyone who still holds mass-update rights combined with a leaked ID.
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
The root cause is CWE-862 (Missing Authorization) inside EspoCRM's mass-update tooling. EspoCRM models uploaded files as Attachment records governed by its ACL layer, which normally enforces both record-level (entity/team ownership) and field-level read restrictions. The mass-update feature lets a permitted user set one or more field values across many entities at once; when a target field is of file or attachment-multiple type, the processor called copyFileField() / copyAttachmentMultipleField() in application/Espo/Tools/MassUpdate/Processor.php to duplicate the referenced Attachment. Before version 10.0.2 that copy routine never called the ACL service, so it cloned the source attachment - including its access metadata semantics as a new record owned/visible to the caller - without ever verifying $acl->checkEntityRead($attachment). The result is an authorization-context confusion: a copy operation is treated as an internal data transformation rather than a read of the source record, so the read restriction that would have blocked direct access to the original file is never evaluated. The published fix adds an explicit $this->acl->checkEntityRead($attachment) guard in both copy paths, throws a Forbidden exception when the check fails, and wraps the per-entity processing in a try/catch that logs 'Mass update forbidden' and skips the record rather than aborting the whole batch. The supplied vector (AV:N/AC:H/PR:L/UI:N, VC:H with no VI/VA) aligns with a network-reachable, low-privilege, high-complexity read-only disclosure; the independent assessment concurs, scoring it CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N.
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
CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable endpoint (AV:N) but requires a hard-to-obtain attachment ID (AC:H) and an authenticated mass-update privilege (PR:L); only file contents are exposed, so C:H with I:N/A:N.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
EspoCRM is an open source customer relationship management application. Prior to 10.0.2, an authenticated user with mass-update permission can supply a known attachment identifier to the mass-update functionality. The mass-update processor duplicates the attachment without checking whether the caller can read it, bypassing record-level and field-level restrictions and exposing the file contents through the copied attachment. Obtaining a valid attachment identifier may be difficult. This issue is fixed in version 10.0.2.
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-102111
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB