CVE-2026-92298 in EspoCRMinfo

Summary

by MITRE • 09/16/2026

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.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Analysis

by VulDB Data Team • 09/16/2026

The vulnerability identified in EspoCRM versions through 10.0.8 stems from the improper implementation of random value generation for security-critical identifiers. Specifically, the application utilizes PHP's legacy rand() function to generate tokens associated with lead-capture opt-in forms, event invitation links, and campaign tracking URLs. This design choice represents a fundamental cryptographic weakness because the underlying algorithm is not designed to produce unpredictable values suitable for security contexts. The rand() function relies on a pseudo-random number generator that lacks sufficient entropy and state complexity when compared to modern cryptographically secure alternatives such as random_int(), openssl_random_pseudo_bytes(), or /dev/urandom. Consequently, the resulting tokens possess only approximately 31 bits of randomness, which is significantly below the minimum threshold required to resist brute-force attacks in contemporary computing environments where processing power allows for millions of guesses per second.

This technical flaw directly facilitates an Insecure Random Value Generation vulnerability, commonly categorized under CWE-330: Use of Insufficiently Random Values. The operational impact is severe because these tokens serve as the primary mechanism for authentication and authorization in specific workflows that do not require user login credentials. An unauthenticated remote attacker can exploit this weakness by systematically guessing or brute-forcing the token values to interact with sensitive application features. By successfully predicting a valid token, an adversary can confirm opt-ins on behalf of unsuspecting users without their consent, thereby violating data privacy principles and potentially triggering unwanted marketing communications. Furthermore, attackers can accept or decline event invitations for other contacts, which disrupts organizational scheduling integrity and may lead to social engineering opportunities where false attendance is recorded.

The ability to access event details through guessed tokens also constitutes a significant information disclosure risk. Sensitive meeting times, locations, agendas, and participant lists become accessible to unauthorized parties. This aligns with the MITRE ATT&CK technique T1078: Valid Accounts, although in this specific context, it extends to valid but unauthenticated session identifiers or access keys that are effectively compromised due to weak entropy rather than stolen credentials. The attack vector is classified as Remote and Unauthenticated, meaning no prior access or user interaction beyond visiting a maliciously crafted URL with guessed parameters is required. This low barrier to entry makes the vulnerability particularly dangerous in public-facing deployments of EspoCRM where campaign URLs and event links are widely distributed via email or web pages.

To mitigate this risk, immediate remediation involves upgrading to a version of EspoCRM that replaces the insecure rand() function with a cryptographically secure random number generator for all token generation processes. Developers must ensure that any new code adheres to OWASP guidelines regarding session management and identifier generation, specifically avoiding legacy PHP functions like mt_rand or srand in security contexts. For organizations unable to upgrade immediately, compensating controls include implementing rate limiting on endpoints that process these tokens to slow down brute-force attempts, adding CAPTCHA challenges to opt-in forms to prevent automated guessing scripts, and reviewing access logs for patterns indicative of token enumeration attacks such as sequential ID probing or high-frequency requests with varying parameters. Additionally, auditing existing campaign URLs and event links may reveal exposed data if they were generated using the flawed logic prior to patching, necessitating a review of any potentially compromised records.

Responsible

VulnCheck

Reservation

09/16/2026

Disclosure

09/16/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

low

Sources

Do you know our Splunk app?

Download it now for free!