Skip to main content

EspoCRM CVE-2026-113643

| EUVDEUVD-2026-105252 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-20 VulDB GHSA-w8vm-3g62-56g7
5.3
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as low-privilege EspoCRM user
  2. Exploit
    Supply unauthorized attachment ID in template image source
  3. Execution
    Trigger PDF rendering via ImageSourceProvider::get
  4. Impact
    Retrieve otherwise-restricted attachment data

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 at least low-level privileges (CVSS PR:L) and the ability to create or modify PDF templates whose image source references an attachment by ID; the vulnerable code path is ImageSourceProvider::get in the PDF rendering pipeline (application/Espo/Tools/Pdf/Dompdf/ImageSourceProvider.php), reached by rendering a template to PDF. The limiting factor is that no anonymous/unauthenticated access works - the attacker must already have a valid session and template access - and impact is confined to reading attachment data referenced by a guessable or known ID (confidentiality only); there is no integrity or availability impact and no user interaction by a victim is required.

Impact

This is a moderate, not a high-priority, issue. The authoritative CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N) describes a network-reachable, low-complexity flaw that nonetheless REQUIRES existing low-level authentication (PR:L) and yields only limited confidentiality impact (VC:L) with no integrity or availability impact - consistent with CWE-639 (authorization bypass through user-controlled key / IDOR). Public exploit code exists (referenced via the vendor GitHub security advisories and VulDB), which raises practical exploitability, but there is NO CISA KEV listing and NO EPSS score provided in the input, so there is no evidence of active or widespread exploitation. The source-code evidence confirms the fix adds ACL-based validation (new Espo\Tools\Pdf\Util\Validation plus a Template before-save hook), corroborating that the root cause is missing authorization enforcement when an attacker-controlled attachment ID is supplied to the PDF image-source path rather than a true authentication bypass. Net: a real but bounded post-authentication information-disclosure bug; prioritize patching for multi-tenant/multi-user EspoCRM deployments, but it is not an unauthenticated critical. Note the Tags label 'Authentication Bypass' conflicts with the description and CWE, which both say authorization bypass - verify terminology before triage.

Exploit ScenarioDerived

A low-privileged but authenticated EspoCRM user crafts or edits a PDF template so its image source references an attachment ID belonging to another user or entity they should not access. When the template is rendered through the Dompdf ImageSourceProvider::get path, the missing authorization check causes the server to fetch and embed that unauthorized attachment, disclosing its contents. Public exploit code is referenced in the vendor GitHub advisories, lowering the bar to reproduce.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 20, 2026

An authorization bypass (IDOR) in EspoCRM's PDF rendering pipeline lets an authenticated low-privilege user read attachments they should not be able to access by supplying an arbitrary attachment ID as the image source of a PDF template. Affected versions are EspoCRM up to 9.3.10 and 10.0.10; the flaw resides in ImageSourceProvider::get (application/Espo/Tools/Pdf/Dompdf/ImageSourceProvider.php) and is reached simply by rendering a template to PDF. Impact is limited to confidentiality of attachment data (CVSS 5.3, PR:L, no victim interaction), publicly available exploit code exists, and there is no indication of active exploitation in the wild.

RemediationAI

Apply the upstream fix, either by upgrading EspoCRM past the affected range (anything newer than 9.3.10 on the 9.x line and newer than 10.0.10 on the 10.x line) or, if you build from source, by cherry-picking commit 91a9edbcedb9c7aa8e3d3ac81d8a7acccb99bca2, which adds the Template before-create/before-update save hook and the Espo\Tools\Pdf\Util\Validation checks; release notes and the two GitHub security advisories (GHSA-r277-qh74-r86f and GHSA-w46f-mj7x-v5c6) should be checked because a specific tagged release version containing the fix is not independently confirmed from the available data. Until patched, reduce exposure by restricting the Template entity's create/edit permissions to trusted administrator roles (trade-off: delegated users lose self-service PDF template customization), and by tightening Attachment ACLs so that sensitive documents are only visible to the teams/roles that need them, which blunts the IDOR even if a template reference is accepted. Review existing PDF templates for image sources pointing at attachment IDs outside the owning user's scope and delete any that are unexpected; after patching, note that saving templates containing disallowed attachment references will now fail validation, so legitimate templates using cross-team attachments must be re-shared explicitly with the template author rather than referenced by ID.

Affected VersionsENISA

espocrm 9.3.7
espocrm 10.0.10
espocrm 10.0.3
espocrm 10.0.1
espocrm 9.3.8
espocrm 10.0.8
espocrm 9.3.6
espocrm 9.3.5
espocrm 9.3.4
espocrm 10.0.2
espocrm 9.3.3
espocrm 10.0.9
espocrm 9.3.9
espocrm 9.3.0
espocrm 10.0.4
espocrm 9.3.1
espocrm 10.0.0
espocrm 10.0.7
espocrm 10.0.5
espocrm 10.0.6
espocrm 9.3.2
espocrm 9.3.10

Affected Packages

euvd espocrm no fix

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 CRM that generates PDF documents through the Dompdf library; its PDF tooling accepts a template definition whose content can reference images by an internal identifier, which the ImageSourceProvider class resolves into an actual attachment stream at render time. The root cause is CWE-639 (Authorization Bypass Through User-Controlled Key): the provider trusts the caller-supplied attachment ID and fetches the corresponding Attachment entity without verifying that the requesting user's ACL grants read access to that record, so a template author can pivot from a permitted template-edit action into reading arbitrary attachments. Because the lookup is a simple identifier dereference, exploitation only requires a valid session, the ability to create or modify a PDF template, and a guessable or known attachment ID. The upstream fix commit 91a9edbcedb9c7aa8e3d3ac81d8a7acccb99bca2 addresses the class of problem by introducing a Template save/update hook (Espo\Classes\RecordHooks\Template\BeforeSaveValidation) plus a new validation component (Espo\Tools\Pdf\Util\Validation) that inspects template body/header/footer content for image references and enforces ACL and BadRequest/Forbidden checks before the template is persisted - i.e., the dangerous reference is rejected at save time rather than only at render time.

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

Vendor (VulDB) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.3 MEDIUM

Network-reachable PDF rendering endpoint with low complexity, but an authenticated low-privilege account is required (PR:L); impact is limited unauthorized attachment disclosure, so C:L and I/A:N.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

A vulnerability was found in EspoCRM up to 9.3.10/10.0.10. This affects the function ImageSourceProvider::get of the file application/Espo/Tools/Pdf/Dompdf/ImageSourceProvider.php of the component PDF Rendering Pipeline. Performing a manipulation of the argument ID results in authorization bypass. The attack may be initiated remotely. The patch is named 91a9edbcedb9c7aa8e3d3ac81d8a7acccb99bca2. It is suggested to install a patch to address this issue.

Threat Intelligence Overview

EPSS Score
0.4%
Top 69% exploitable
Prevalence
Low
open-source CRM with modest, niche deployment footprint
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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 MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
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· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0
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-2026-33656 CRITICAL POC
9.1 Apr 22

Path traversal in EspoCRM's formula scripting engine allows authenticated administrators to achieve arbitrary file read/

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

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