Skip to main content

EspoCRM CVE-2026-109959

| EUVDEUVD-2026-98663 MEDIUM
Information Exposure (CWE-200)
2026-10-13 VulnCheck GHSA-574v-qh2p-6g7r
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as low-privilege user
  2. Exploit
    Obtain stream note IDs for accessible parent record
  3. Execution
    Request GET /Note/{id} bypassing NoteAccessControl
  4. Impact
    Read restricted 'was'/'became' field values

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK

2 techniques across 2 tactics: Collection, Discovery

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 EspoCRM account (PR:L) that already holds stream access to the parent record carrying the audit notes; the attacker must be able to enumerate or know the individual Note record IDs and call GET /Note/{id} directly. Exploitation only yields data for fields protected by field-level (field-level security) restrictions on audited fields - it is meaningful only in deployments that actually use field-level security to hide audited fields from lower-privilege users. Limiting factors: no anonymous/unauthenticated access, impact confined to reading historical 'was'/'became' values of restricted fields (no write or availability impact), and affected versions are EspoCRM 4.0.0 up to but not including 10.0.7.

Impact

This is a moderate, authenticated information-disclosure flaw (CVSS 4.0 base 5.3, confidentiality-only VC:L with VI:N/VA:N). The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) indicates a network-reachable attack by a low-privileged but already-authenticated user against default behavior, with no user interaction and low attack complexity - consistent with the description, which requires an authenticated account that already has stream access to the parent record. Exploitation status: publicly available exploit code exists (GitHub Security Advisory GHSA-mr36-xx82-qf6h is marked as an exploit reference); this is NOT the same as active exploitation - the CVE is not listed in CISA KEV and no EPSS score was provided, so widespread or automated exploitation cannot be inferred. The signals are internally consistent rather than conflicting: low CVSS, authenticated-only access, limited (single metric) impact, and POC-but-no-KEV all point to this being a real-but-not-urgent issue - a targeted confidentiality leak useful to an insider or a compromised low-privilege account, not a mass-exploitation candidate. Priority should be elevated for deployments where field-level security is actively relied upon to hide sensitive audited fields (e.g., salary, PII) from lower-tier users, and routine otherwise.

Exploit ScenarioDerived

An authenticated EspoCRM user who has stream access to a parent record but is not authorized to see certain field-level-secured fields issues GET /Note/{id} directly for an audit stream note. Because this endpoint skips the NoteAccessControl filter, the response returns data.attributes.was and became values, disclosing the restricted field's old and new values. Public exploit/advisory code exists, lowering the skill needed to reproduce.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
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 13, 2026

An access-control bypass in EspoCRM 4.0.0 through 10.0.6 lets any authenticated user who already holds Stream access to a parent record read historical 'was'/'became' values of fields protected by field-level security, by calling the REST endpoint GET /Note/{id} directly, which skips the NoteAccessControl filter. Impact is limited to confidentiality (CVSS 4.0 base 5.3, VC:L with VI:N/VA:N; independently assessed as CVSS:3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N) and is meaningful only in deployments that actually use field-level security to hide audited fields from lower-privilege users. Publicly available exploit code exists (GitHub advisory GHSA-mr36-xx82-qf6h, VulnCheck advisory), while there is no evidence of active exploitation or CISA KEV listing at time of analysis.

RemediationAI

Upgrade EspoCRM to 10.0.7 or later - vendor-released patch: 10.0.7, described in GHSA-mr36-xx82-qf6h and the VulnCheck advisory. Where the upgrade cannot be applied immediately, the most direct compensating control is to remove Stream permission from non-administrative roles (or restrict it to trusted admin roles) so that lower-privilege users have no legitimate path to the stream notes that expose the restricted was/became values; the trade-off is loss of the activity-stream view and audit visibility for those users. A second option is to clear the 'Audited' flag on sensitive fields via Administration > Entity Manager while the instance remains unpatched, which prevents the restricted values from being written into Note records at all, at the cost of losing change history for those fields. A reverse-proxy, API-gateway, or WAF rule that blocks GET requests to the Note read endpoint (e.g. /api/v1/Note/{id}) for non-administrative accounts can also blunt the public PoC, but it will break legitimate direct note retrieval and any integration that reads notes by ID unless those callers are allow-listed. Finally, treat any secrets stored in audited, field-level-security-protected fields (API tokens, keys, credentials) as potentially disclosed, since the leak cannot be un-read, and rotate them as part of incident response.

Affected VersionsENISA

espocrm 4.0.0 <10.0.7

Affected Packages

euvd espocrm fix: 10.0.7

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 maintains an activity/audit stream in Note records: whenever a tracked field changes, the platform writes a Note whose data.attributes payload contains both the 'was' and the 'became' value for each changed field. Reads of those records are normally mediated by the NoteAccessControl filter, which applies the requesting user's ACL and field-level security rules so that audited values of fields the user may not see are stripped from the response. In EspoCRM 4.0.0 up to (but not including) 10.0.7 the REST route GET /Note/{id} bypasses that filter and returns the raw Note record - including the was/became snapshots of field-level-security-restricted fields - to any authenticated user with Stream access to the parent record. This is CWE-200 (exposure of sensitive information to an unauthorized actor), i.e. a missing authorization/ACL-filter enforcement on a single read endpoint rather than an injection or cryptographic flaw; the affected-product CPE cpe:2.3:a:espocrm:espocrm:*:*:*:*:*:*:*:* is version-unbounded, and the binding constraint comes from the advisory range 4.0.0 < 10.0.7. Exploitation requires an authenticated session (CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N) plus knowledge or enumeration of individual Note record IDs, and yields only historical field values - no write, deletion, or availability impact.

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 (VulnCheck) 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

Authenticated low-privilege user (PR:L) exploits over the network (AV:N) with low complexity (AC:L); impact is limited confidentiality disclosure of restricted field values only (C:L, I:N, 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 (VulnCheck).

CVSS VectorVendor: VulnCheck

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

Lifecycle Timeline

2
Patch available
Oct 13, 2026 - 15:17 EUVD
CVE Published
Oct 13, 2026 - 13:27 cve.org
MEDIUM 5.3

DescriptionCVE.org

EspoCRM 4.0.0 before 10.0.7 contains an access control vulnerability that allows authenticated users to read audited field values restricted by field-level security by fetching individual stream notes. Users with stream access to a parent record can request GET /Note/{id}, which skips the NoteAccessControl filter, and recover data.attributes.was and became values of restricted fields.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Low
niche open-source self-hosted CRM, limited enterprise footprint
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
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.2%
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
None
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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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