Skip to main content

EspoCRM CVE-2025-59428

MEDIUM
Cross-Site Request Forgery (CSRF) (CWE-352)
2025-10-14 security-advisories@github.com
5.4
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

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

  1. Access
    Obtain Knowledge Base edit account
  2. Delivery
    Plant malicious SVG link in article
  3. Exploit
    Victim clicks link to attacker page
  4. Execution
    Browser issues forged api/v1/User request
  5. Persist
    Victim submits credentials
  6. Impact
    Attacker-controlled admin account created

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Anti-CSRF tokens, SameSite cookies
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

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

Exploitation Conditions

Exploitation is gated by several concrete prerequisites drawn from the description: (1) the attacker must already possess an account with Knowledge Base edit permissions to store the malicious SVG payload in an article body; (2) EspoCRM's Knowledge Base article rendering must permit embedding SVG elements containing links (the stored-injection sink); (3) the api/v1/User endpoint must lack CSRF protection (true before 9.1.9); and (4) a victim with sufficient privileges must both click the attacker's link AND, when prompted, re-enter their credentials on the attacker-controlled page. Limiting factors that reduce real-world risk: the required insider edit role (not anonymous/remote), mandatory victim interaction plus credential re-entry, and the fix shipped in version 9.1.9 which closes the CSRF gap. There is no default-configuration, unauthenticated path.

Impact

This is a moderate, conditional risk rather than a top-tier emergency, and the signals are internally consistent on that point. The CVSS 3.1 base score of 5.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N) reflects a network vector but with two meaningful brakes: PR:L means the attacker must already hold a privileged role (Knowledge Base edit permissions), and UI:R means a victim must actively click a malicious link AND re-enter their credentials for the chained CSRF to succeed. EPSS is very low at 0.14% (3rd percentile), and the CVE is NOT on CISA KEV, so there is no evidence of active or widespread exploitation. The one elevating signal is that publicly available exploit code exists (GitHub Security Advisory GHSA-c26c-wvhr-fr6r), which lowers the barrier to opportunistic use. The low EPSS despite a published PoC is coherent: exploitation requires an insider-level foothold plus specific victim behavior, which limits mass automation. No signals conflict here - all point to a real but gated privilege-escalation path. The main caveat: CVSS scope-changed (S:C) and only Low integrity impact arguably understates the outcome, since the described end state is creation of an attacker-controlled ADMINISTRATIVE account, which is effectively a full integrity compromise of the CRM. Treat as a priority to patch for any multi-user EspoCRM instance, but not as a drop-everything internet-wide threat.

Exploit ScenarioDerived

An attacker who already holds a Knowledge Base editor account embeds a malicious SVG element containing a crafted link in the body of a KB article. A higher-privileged user opens the article, clicks the link, is redirected to an attacker-controlled HTML page that fires a CSRF POST to api/v1/User, and - if the victim is prompted for and supplies their credentials - a new attacker-controlled account (potentially administrative) is created. Public exploit code for this chain is available in the GitHub advisory, so the technique is reproducible.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 19, 2026

EspoCRM versions before 9.1.9 permit an attacker holding Knowledge Base edit privileges to plant a stored SVG element with an embedded link in an article body, which redirects a clicking victim to an attacker-controlled page that fires a CSRF request at the api/v1/User endpoint. If the victim re-enters credentials on that page, the attacker gains a new account whose privileges are defined by the CSRF payload - potentially an administrative one. The chain is fully gated: it requires an authenticated insider with KB edit rights, mandatory victim interaction, credential re-entry, and the pre-9.1.9 absence of CSRF protection on api/v1/User; EPSS is low (0.14%) and publicly available exploit code exists but no CISA KEV confirmation of active exploitation.

RemediationAI

Upgrade to EspoCRM 9.1.9 or later, which closes the CSRF gap on api/v1/User and is the vendor-released fix per the GHSA-c26c-wvhr-fr6r advisory (https://github.com/espocrm/espocrm/security/advisories/GHSA-c26c-wvhr-fr6r). If immediate upgrade is not possible, restrict Knowledge Base edit permissions to a small, trusted group and audit existing articles for embedded SVG or unexpected outbound links, since that stored content is the injection vector; accept the trade-off of reduced content-authoring velocity. Enforce CSRF tokens and strict Origin/Referer validation on api/v1/User and other state-changing endpoints at a reverse proxy or via a code-level patch, understanding that misconfigured origin rules can break legitimate API clients. Because the final step depends on a victim typing credentials on an attacker page, reinforce credential-entry warnings and phishing awareness for privileged CRM users, and require re-authentication for user-creation actions. Monitor for anomalous account creation events in EspoCRM logs as a detection backstop.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

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-352 (Cross-Site Request Forgery), compounded by a stored content injection sink. EspoCRM renders Knowledge Base article bodies in a browser context, and versions before 9.1.9 allow SVG elements carrying links to survive sanitization, giving an author with legitimate KB edit permissions a way to plant persistent attacker-controlled hyperlinks. Clicking that link moves the victim off-site to attacker HTML, which then issues a state-changing cross-origin request to EspoCRM's api/v1/User endpoint; because that endpoint lacked CSRF tokens/origin validation prior to 9.1.9, the victim's browser attaches their session and the request is honored. The CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N (published) is more optimistic than our assessment of CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:H/A:N: the elevated attack complexity reflects the multi-step chained prerequisites, and the Integrity impact is raised to High because successful exploitation creates a persistent account - up to administrative - rather than a transient modification. Scope is changed because the injected link crosses from the CRM content context into an external attacker page. Affected CPE is espocrm:espocrm prior to 9.1.9.

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) PRIMARY 5.4 MEDIUM
AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
vuln.today AI 6.5 MEDIUM

Attacker needs a Knowledge Base edit role (PR:L) and the chain depends on victim click plus credential re-entry (UI:R, AC:H); creating an attacker-controlled admin account is a high integrity impact across a changed scope.

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

Primary rating from Vendor (github).

CVSS VectorVendor: github

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

DescriptionCVE.org

EspoCRM is an open source customer relationship management application. In versions before 9.1.9, a vulnerability allows arbitrary user creation, including administrative accounts, through a combination of stored SVG injection and lack of CSRF protection. An attacker with Knowledge Base edit permissions can embed a malicious SVG element containing a link in the body field of an article. When an authenticated user clicks the malicious link, they are redirected to an attacker-controlled HTML page that executes a CSRF request against the api/v1/User endpoint. If the victim is prompted for and enters their credentials, an attacker-controlled account is created with privileges determined by the CSRF payload. This issue has been patched in version 9.1.9.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
Low
niche open-source CRM, limited enterprise deployment footprint
Exploit
POC
Public exploit code exists
Data Quality
4 sources
Confidence: Medium

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.1%
Patch available No
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· derived
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

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

Attack Technique

Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.

Affected Products (CPE)CVE.org

cpe:2.3:a:espocrm:espocrm:*:*:*:*:*:*:*:*
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