CVE-2026-59994
MediumCVSS 4.3Exploitation Probability (EPSS)
Low risk27th percentile - higher than 27% of all known CVEs
Summary
In EspoCRM prior to 9.3.9, an unauthenticated remote attacker can send an email to a monitored group or IMAP address (including an email-to-Case address) with arbitrary HTML in its plain-text body. EspoCRM stores that body and renders it without escaping in Email Received stream notification emails, allowing HTML injection and, in mail clients that execute it, JavaScript execution.
Risk Assessment
An attacker can inject malicious HTML/JavaScript into notification emails sent to users, potentially leading to session data theft or other actions in the victim's browser context.
Recommendation
Update EspoCRM to version 9.3.9 or later, which contains the fix for this issue.
Other vulnerabilities in EspoCRM
See all- CVE-2026-113643Medium
EspoCRM up to 9.3.10/10.0.10 has a vulnerability in the ImageSourceProvider::get function in application/Espo/Tools/Pdf/Dompdf/ImageSourceProvider.php within the PDF Rendering Pipeline component. Manipulating the ID argument results in authorization bypass. The attack may be initiated remotely. The patch is named 91a9edbcedb9c7aa8e3d3ac81d8a7acccb99bca2 and installing it is recommended.
- CVE-2026-77460Medium
In EspoCRM prior to 10.0.3, a user with email-template edit access and mass-email sending access can reference restricted record fields in a template because the renderer stops filtering those fields when per-user ACL application is disabled. The same behavior affects group email auto-replies when a regular user can edit the selected template. Rendered messages can disclose restricted user fields.
- CVE-2026-63130Medium
In EspoCRM prior to 9.3.10, an authenticated administrator can provide crafted input to the administrative Label Manager. Insufficient path validation allows traversal outside the intended directory and permits reading, modifying, creating, or deleting JSON files accessible to the application, subject to filesystem permissions and server configuration.
- CVE-2026-55184Low
EspoCRM is an open source customer relationship management application. Prior to 9.3.9, a user with Email Template or PDF Template edit permission can store crafted HTML that bypasses moderateSanitizeHtml(). When another user opens the template in edit mode and clientCspDisabled is true, the stored payload executes and can hijack the user's session. This issue is fixed in version 9.3.9.
- CVE-2026-53575Low
In EspoCRM prior to 9.3.9, an authenticated administrator can place crafted content in the applicationName setting through CSP nonce injection. The persistent injection is inserted into the main application page without escaping, allowing attacker-controlled JavaScript to run in users' sessions and leak page data, including unsaved user input.
- CVE-2026-53574High
In EspoCRM 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.
- CVE-2026-46708Medium
In EspoCRM prior to 9.3.7, a low-privileged user who can access a shared TargetList can invoke opt-out or cancel-opt-out actions for a protected Contact or Lead that the user cannot read or edit. The service validates access to the target list but retrieves the target record without the required record authorization, allowing unauthorized changes to its opted_out relationship state.
- CVE-2026-46691Medium
In EspoCRM prior to 9.3.7, an authenticated user with Import scope access can send POST /api/v1/Import/{id}/exportErrors with another user's import identifier and retrieve an attachment identifier for a CSV containing rows from that import. The endpoint performs a scope-level check but omits the entity-level ownership check enforced by the Import AccessChecker and sibling Import endpoints.
- CVE-2026-109959Medium
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.
- CVE-2026-105832Medium
EspoCRM before 10.0.6 contains an authentication bypass that accepts a login stopped at the second factor on routes not requiring authentication. Attackers knowing a 2FA-enabled user's username and password can skip the second factor to read config parameters not exposed publicly.
Original NVD description (English source)
EspoCRM is an open source customer relationship management application. Prior to 9.3.9, an unauthenticated remote attacker can send an email to a monitored group or IMAP address, including an email-to-Case address, and place arbitrary HTML in its plain-text body. EspoCRM stores that body and renders it without escaping in Email Received stream notification emails sent to users following the related record, allowing HTML injection and, in mail clients that execute it, JavaScript execution. Earlier sanitization for Post and Mention notifications did not cover this notification path. This issue is fixed in version 9.3.9.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

