Skip to main content

EspoCRM CVE-2026-53574

| EUVDEUVD-2026-102101 HIGH
SQL Injection (CWE-89)
2026-10-15 GitHub_M
7.6
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as low-privilege user
  2. Delivery
    Send crafted where parameter to streamAttachments
  3. Exploit
    Trigger boolean-based blind SQL injection
  4. Execution
    Extract admin session token from database
  5. Persist
    Reuse token to assume administrator
  6. Impact
    Full instance takeover

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

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

Exploitation Conditions

Requires an authenticated session as a non-administrator user (PR:L) on an EspoCRM instance running a version from 8.1.0 up to but not including 9.3.8. The specific vulnerable surface is the GET entity streamAttachments endpoint, whose query path permitted complex expressions in the 'where' parameter (the fix adds withComplexExpressionsForbidden() and rejects the '#' character in attributes). No special non-default configuration is needed and no user interaction is required, but the low-privilege authentication requirement is the primary limiting factor: fully anonymous exploitation is not possible. Risk is highest where low-privilege account registration is open or where many users hold standard accounts.

Impact

This is a genuine prioritization candidate rather than a paper-high score. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N) describes a network-reachable, low-complexity attack requiring only low privileges and no user interaction - i.e. any authenticated non-administrator account suffices, which is a low bar in a multi-user CRM. Publicly available exploit code exists (vendor GitHub Security Advisory GHSA-qgm7-fc9g-fj75 plus the fixing commit), raising practical risk materially above a typical PR:L SQLi because the boolean-based blind technique is well understood and the advisory path is public. The technical impact is amplified beyond the C:H/I:L/A:L base: the description states the injection can extract active administrator session tokens, which converts a low-privilege read primitive into effective full administrative takeover (privilege escalation). No EPSS score was provided in the input, so probabilistic exploitation likelihood cannot be quoted. The CVE is NOT listed in CISA KEV and no active in-the-wild exploitation is claimed - so despite public POC this should be treated as exploitable-and-likely-to-be-targeted rather than confirmed mass-exploited. Net: medium-footprint product, real and public exploit path, authenticated-but-low barrier, admin-takeover consequence - worth prompt patching for any internet-exposed EspoCRM instance.

Exploit ScenarioDerived

An attacker holding (or registering/phishing) any low-privilege EspoCRM user account sends a crafted 'where' parameter to the GET entity streamAttachments endpoint, which permits complex expressions and passes attacker input into the SQL query. Using boolean-based blind SQL injection they iteratively extract database contents - notably an active administrator's session token - then reuse that token to authenticate as administrator and take over the instance. Publicly available exploit material (vendor advisory and fixing commit) lowers the effort required.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
3 public PoCs Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 15, 2026

Boolean-based blind SQL injection in EspoCRM versions 8.1.0 through 9.3.7 allows an authenticated non-administrator to inject crafted expressions through the 'where' parameter of the GET entity streamAttachments endpoint, enabling extraction of arbitrary database contents - including active administrator session tokens - and subsequent full privilege escalation. The flaw requires a valid low-privilege session (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L, 7.6) and is not exploitable anonymously. Public exploit code exists for this issue, though it has not been confirmed as actively exploited (CISA KEV); EspoCRM 9.3.8 is the fixed release.

RemediationAI

Upgrade to EspoCRM 9.3.8 or later, which is the vendor-released fix containing commit e4a6aea90886d672f96b5d9a7cb0722e3d3654e1; see the advisory GHSA-qgm7-fc9g-fj75 and the release notes at https://github.com/espocrm/espocrm/releases/tag/9.3.8. If an immediate upgrade is not possible, apply the upstream patch manually, backporting both changes - the '#' attribute rejection in application/Espo/Core/Select/Where/Checker.php and the ->withComplexExpressionsForbidden() call in application/Espo/Tools/Stream/RecordService.php. Additional compensating controls: block or rate-limit GET requests to the entity streamAttachments route that carry a 'where' query parameter at a reverse proxy or WAF, accepting that this may break legitimate stream/attachment filtering for some integrations. Because the injection can read session tokens and achieve privilege escalation, treat every EspoCRM instance in the affected range that is reachable by low-privilege users as potentially compromised: rotate administrator credentials, invalidate active sessions/API tokens, and audit authentication logs for anomalous streamAttachments requests. Note that the input data labels this as publicly available exploit code, so patch urgency is elevated even though no active exploitation has been confirmed; reducing the number of low-privilege accounts (and closing open self-registration) narrows the attack surface but does not remove it, since any authenticated non-admin can trigger the flaw.

Affected VersionsENISA

espocrm 8.1.0, < 9.3.8

Affected Packages

euvd espocrm fix: 9.3.8

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's ORM exposes a search/where query layer that is normally constrained to simple attribute comparisons, but the entity streamAttachments path (Espo\Tools\Stream\RecordService::findAttachments) built its query without that restriction, permitting complex expressions. The upstream fix is twofold: Select/Where/Checker.php now rejects attributes containing the '#' character (thrown as Forbidden: 'Not allowed character in attribute.'), closing the attribute-path injection vector, and RecordService adds ->withComplexExpressionsForbidden() so a user-supplied 'where' clause on this endpoint can no longer contain raw SQL fragments. This maps to CWE-89 (Improper Neutralization of Special Elements used in an SQL Command) - untrusted input reaching a query builder that lacked parameterization/allow-listing for the affected code path. The blind-boolean nature means an attacker infers data bit-by-bit through response differences rather than seeing output directly, which makes extraction slow but fully arbitrary against tables reachable by the application's database user, including the session/token store the description identifies as the escalation path.

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 7.6 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L
vuln.today AI 7.6 HIGH

Network endpoint reachable with a standard non-admin account (AV:N/PR:L), no interaction or special conditions (AC:L/UI:N); blind SQLi yields high confidentiality (DB/token read) with limited integrity/availability impact.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Oct 15, 2026 - 16:02 EUVD
CVE Published
Oct 15, 2026 - 14:45 cve.org
HIGH 7.6

DescriptionCVE.org

EspoCRM is an open source customer relationship management application. From 8.1.0 until 9.3.8, an authenticated non-administrator can submit a crafted where parameter to the GET entity streamAttachments endpoint because that query path permits complex expressions. Boolean-based blind SQL injection can extract arbitrary database information, including active administrator session tokens, and can enable full privilege escalation. This issue is fixed in version 9.3.8.

Technical POC Analysis

CWE-89 (Improper Neutralization of Special Elements used in an SQL Command).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Latest POC

3 public PoC links from github

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

EspoCRM versions 8.1.0 through 9.3.7 are affected by a high-severity SQL injection vulnerability that allows an authenticated low-privilege user to extract sensitive database contents, including administrator session tokens, and escalate to full administrative control. Publicly available exploit code exists, and organizations using these versions face potential data breaches and complete system compromise, underscoring the need for immediate remediation.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
Prevalence
Medium
popular self-hosted open-source CRM, moderate but not universal footprint
Data Quality
5 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 HIGH
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

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

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