Skip to main content

EspoCRM CVE-2026-33741

| EUVDEUVD-2026-30967 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-05-19 GitHub_M
6.8
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Recon
    Authenticate with low-privilege EspoCRM account
  2. Delivery
    Upload malicious SVG referencing attacker JS file
  3. Exploit
    Upload attacker-controlled JavaScript as second attachment
  4. Install
    Share SVG link to target victim via record or internal message
  5. C2
    Victim opens SVG inline in browser
  6. Execute
    Same-origin CSP allowance loads attacker JS from EspoCRM origin
  7. Impact
    Arbitrary JavaScript executes in victim's authenticated session

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

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

Exploitation Conditions

The attacker must hold a valid EspoCRM account with at minimum low-privilege access (CVSS PR:L confirmed), sufficient to upload attachments to at least one attachment-capable field in the application. Victim interaction is required (CVSS UI:R): the target user must be socially engineered or otherwise induced to open the malicious SVG attachment inline in their browser - clicking a shared record link or an attachment link in an internal note satisfies this condition. The attack additionally requires that the EspoCRM instance serves SVG files as inline top-level documents rather than forced downloads, which appears to be the default behavior in affected versions. The CSP bypass component requires that the attacker can also upload a JavaScript file to the same EspoCRM instance so that it is served from the same origin. Exploitation is limited by: the need for an attacker-controlled CRM account (rules out fully external unauthenticated attackers), the need for victim click interaction (not automatable at scale), and the availability of same-origin script hosting (requires JS upload capability alongside SVG upload capability).

Impact

The CVSS 6.8 score reflects a network-reachable (AV:N), low-complexity (AC:L) vulnerability requiring a low-privilege authenticated account (PR:L) and victim interaction (UI:R), with unchanged scope (S:U) and a high confidentiality impact (C:H) alongside limited integrity and availability impact (I:L/A:L). The PR:L requirement is a meaningful constraint - the attacker must possess a valid EspoCRM account - but in multi-tenant CRM deployments this bar is often low (e.g., partner accounts, sales reps, trial users). UI:R reduces automatable mass exploitation, but social engineering within a CRM context (sharing a record, sending an internal note with an attachment) is highly plausible. A publicly available exploit exists, which elevates practical risk above typical stored-XSS findings. No CISA KEV listing is present, and EPSS data was not provided in the intelligence feed. The CSP bypass technique using a same-origin uploaded JS file is a non-trivial but well-documented attack pattern, and its presence here suggests the vulnerability was carefully researched rather than discovered incidentally. Overall, this warrants priority remediation in any deployment where untrusted or low-trust users hold accounts.

Exploit ScenarioDerived

An attacker with a low-privilege EspoCRM account uploads a crafted SVG file containing a script tag referencing a second attacker-controlled JavaScript file - also uploaded as a legitimate attachment and therefore hosted on the EspoCRM origin. The attacker then shares a record or sends an internal communication containing the SVG attachment to a target user (e.g., a CRM administrator or colleague). When the victim opens the SVG link, EspoCRM serves it inline, the same-origin CSP allowance permits loading the attacker's JavaScript attachment, and the script executes in the victim's authenticated session - enabling session token theft, account takeover, or further lateral movement within the CRM. A public exploit exists, lowering the technical bar for this attack.

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

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

Alert me

AnalysisAIv1 – May 19, 2026

Stored cross-site scripting in EspoCRM 9.3.3 and below enables an authenticated attacker to execute arbitrary JavaScript in the browser session of any user who opens a crafted SVG attachment. The attack exploits EspoCRM's inline SVG serving behavior combined with a CSP misconfiguration that blocks inline scripts but permits same-origin external scripts - allowing a separately uploaded attacker-controlled JavaScript file (also hosted on the same EspoCRM origin) to be loaded and executed. A public exploit exists per the vendor's own GitHub security advisory; no CISA KEV listing has been identified at time of analysis.

RemediationAI

Upgrade EspoCRM to version 9.3.4, which is confirmed as the vendor-released fix per the GitHub security advisory at https://github.com/espocrm/espocrm/security/advisories/GHSA-5wh5-ccv2-m3pv. If an immediate upgrade is not feasible, administrators should consider restricting SVG file uploads at the application or web server layer - for example, by adding SVG to the list of blocked attachment MIME types or file extensions in EspoCRM's administration settings; this removes the attack vector entirely but may impact legitimate use of SVG assets. A secondary compensating control is to configure the web server to serve all attachments with a Content-Disposition: attachment header, which forces file download rather than inline rendering and breaks the XSS chain; however, this must be applied carefully as it may disrupt image preview functionality across the application. Tightening the CSP to remove same-origin script-src allowances would also neutralize the CSP bypass component of this attack chain, but may break legitimate EspoCRM functionality and requires testing. Patching to 9.3.4 remains the only fully confirmed and side-effect-free resolution.

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 (CPE: cpe:2.3:a:espocrm:espocrm:*:*:*:*:*:*:*:*) fails to sanitize SVG uploads before serving them as top-level inline documents via both the attachment and image entry points. SVG is an XML-based format that natively supports embedded script elements, making it a well-known XSS vector when served with content types that permit script execution. The root cause class is CWE-79 (Improper Neutralization of Input During Web Page Generation). Critically, the deployed Content Security Policy blocks inline SVG script execution but retains a same-origin script-src allowance; because EspoCRM also serves attacker-uploaded JavaScript files from the same origin, an attacker can chain a malicious SVG with a second JavaScript attachment to bypass the inline-script restriction entirely. The vulnerability spans both the attachment and image entry points, broadening the reachable attack surface within normal user workflows.

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 (GitHub_M) PRIMARY 6.8 MEDIUM
AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:L

Primary rating from Vendor (GitHub_M) · only source for this CVE.

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

1
Patch available
May 19, 2026 - 19:02 EUVD

DescriptionCVE.org

EspoCRM is an open source customer relationship management application. Versions 9.3.3 and below allow authenticated users to upload SVG attachments through normal attachment-capable fields and later serve those SVG files as top-level inline documents through both the attachment and image entry points, resulting in stored cross-user XSS reachable through a normal attachment workflow. Although inline SVG script is blocked by the response CSP, the same CSP still allows same-origin external script. As a result, an attacker can upload a malicious SVG together with a second attacker-controlled JavaScript attachment, then trick another user into opening the SVG to execute JavaScript in the victim's EspoCRM origin. This issue has been fixed in version 9.3.4.

Threat Intelligence Overview

EPSS Score
0.0%
Top 88% exploitable
Exploit
POC
Public exploit code exists
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 MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.0%
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

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

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

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-33656 CRITICAL POC
9.1 Apr 22

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

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-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