Description
EspoCRM through 10.0.8 uses PHP's rand() function to generate tokens for lead-capture opt-in, event invitation, and campaign URLs instead of a cryptographically secure generator. Remote unauthenticated attackers can guess these roughly 31-bit tokens to confirm opt-ins, accept or decline event invitations on behalf of other contacts, and access event details.
Published: 2026-09-16
Score: 6.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Unauthorized interaction with opt‑in, event invitation and campaign URLs via predictable token guessing
Action: Immediate Patch
AI Analysis

Impact

EspoCRM versions up to 10.0.8 generate short, predictable tokens with PHP's rand() instead of a cryptographically secure source. These tokens are used in lead‑capture opt‑in links,. An attacker who can guess a token can confirm opt‑ins, manually accept or decline event invitations on behalf of other contacts, and view event details, effectively bypassing required authorization for those actions.

Affected Systems

The vulnerability affects EspoCRM installations running any version through 10.0.8. The code paths that generate the tokens are located in the Util.php and UniqueId.php files in the application folder. No specific sub‑versions are listed beyond the main 10.0.8 release, so any deployment of EspoCRM older than or equal to that version is potentially impacted.

Risk and Exploitability

The CVSS score of 6.3 indicates a moderate severity. The EPSS score of less than 1% shows that real world exploitation is currently unlikely, and the vulnerability is not listed in the CISA KEV catalog. Nevertheless, the attack vector is remote, unauthenticated, and requires only the ability to try a handful of 31‑bit token values. If an attacker can discover a access to event‑related functionality without needing to authenticate to the system. The limited token space makes exhaustive guessing feasible, especially for low‑volume events.

Generated by OpenCVE AI on September 16, 2026 at 17:39 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade EspoCRM to the latest release where the token generator has been replaced by a cryptographically secure implementation (see the commit that replaced rand() in Util.php).
  • After upgrading, re‑generate any existing event or campaign URLs that contain the old predictable tokens to prevent reuse of compromised tokens.
  • If an upgrade cannot be performed immediately, limit or disable the exposure of external links, or remove the token‑based URL mechanism until a secure implementation is deployed.

Generated by OpenCVE AI on September 16, 2026 at 17:39 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 16 Sep 2026 02:15:00 +0000

Type Values Removed Values Added
Description EspoCRM through 10.0.8 uses PHP's rand() function to generate tokens for lead-capture opt-in, event invitation, and campaign URLs instead of a cryptographically secure generator. Remote unauthenticated attackers can guess these roughly 31-bit tokens to confirm opt-ins, accept or decline event invitations on behalf of other contacts, and access event details.
Title EspoCRM through 10.0.8 Weak Token Generation via rand()
First Time appeared Espocrm
Espocrm espocrm
Weaknesses CWE-338
CPEs cpe:2.3:a:espocrm:espocrm:*:*:*:*:*:*:*:*
Vendors & Products Espocrm
Espocrm espocrm
References
Metrics cvssV3_1

{'score': 4.8, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N'}

cvssV4_0

{'score': 6.3, 'vector': 'CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-09-16T01:57:46.309Z

Reserved: 2026-09-16T01:33:04.403Z

Link: CVE-2026-92298

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-16T02:17:39.170

Modified: 2026-09-16T02:17:39.170

Link: CVE-2026-92298

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-16T17:45:17Z

Weaknesses
  • CWE-338

    Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)